我已经使用 yum 在 CentOS 6.2 (64 位) 系统上安装了 Gotolite 3,并尝试使用 Tortoisegit 在 Windows 7 (64 位) 上克隆 gitolite-admin,它是使用 PLink 安装的。Tortoisegit 只是说它正在克隆,但进度条从未移动,文件夹 glssh.html 中从未显示任何文件,直到最后它以错误 128 中止(HTTP 请求失败,git 未干净退出)。
~gitolite3/.ssh/suthorized_keys 看起来像这样:
# gitolite start
command="/usr/share/gitolite3/gitolite-shell gitkey",no-port-forwarding,no-X11- forwarding,no-agent-forwarding,no-pty ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAozy1qK68k2iu6rTJHNifMMne9DXvsm/pSeqMprRqJAdtLNHLxsFoPT7JF8Ct5GLbyZRWzV4tGjPnp7LJjsodMrjKes5km4LO1Q4tZPisdQu/awYkz8gg54sBwyJPlaIoL8pvMlzot+ZfcMwBm7Amgs5zEgqn4p+vVtqoOyh/sPk= Gitolite Admin
# gitolite end
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIBpO6jH4BPN8KwSZHEtG6kvkmWT/WZbtWSzpkklOjHrc1qu+pT0QHR1NfM8/pxOodbKoSmxUC1iaMVvhmURK4FFPJvvCIhUPud01BYCffjuBcYIYr1lfGwWVWc8Wvqg3DGkjL4bVEIYGx6gsg8OmLDMqzjXYuTW/yt6gKoEBs5oMw== Gitolite Account Key
我很难让 Tortoise(或 Git bash)不提示我输入密码,但我认为密钥不再是问题所在。我假设 gitolite-shell 命令被触发,否则 Tortoise 会像其他(shell 帐户)密钥一样立即失败。现在问题出在服务器端吗?从 RPM 安装的说明非常粗略(并且忽略了提及gitolite setup -pk
安装密钥之类的任何内容。
答案1
你需要设置
etc/ssh/sshd_config
PasswordAuthentication no
或者
Match User yourUser
PasswordAuthentication no
这应该可以解决询问密码的问题。
现在 Selinux 将会抱怨
https://bugzilla.redhat.com/show_bug.cgi?id=827389
在你的 gitolite 服务器上检查
[root@centos63 ~]# setenforce 0
在你的 gitolite 管理员账户上
ssh yourUser@yourBox info
#Should be the answer message
hello admin, this is yourUser@yourBox running gitolite3 3.04-1.el6 on git 1.7.1
R W gitolite-admin
R W testing
将 Selinux 重新设置为强制模式
[root@centos63 ~]# setenforce 1
ssh yourUser@yourBox info
如果你没有收到与之前相同的消息,则需要更新你的 Selinux- Policies
安装此更新
- selinux-策略-3.7.19-159
- selinux-策略-针对性-3.7.19-159
我从http://people.redhat.com/dwalsh/SELinux/RHEL6/noarch/
问题已经解决。
答案2
该gitolite setup -pk
步骤在设置页面。
首先,请确保先使用没有密码保护的 ssh 密钥。无需在困难(在服务器端验证 gitolite)之上再添加困难(客户端上的 ssh-agent)
参见“无法使用 Gitolite 添加用户“ 举例说明。或者 “创建 SSH 密钥ssh-keygen
不会创建.ssh
文件夹“)
其次,确保HOME
在 Windows 上定义了用户环境变量(默认情况下不是)
读 ”gitolite:可以通过 ssh 连接,但无法克隆“了解有关 ssh 设置的更多信息,并创建一个名为“%HOME%.ssh\config”的文件,内容如下:
host gitolite
user gitolite3
hostname yourCentOSServerName
identityfile ~/.ssh/gitkey
并确保' ssh gitolite
'显示 gitolite 欢迎消息,详情请参阅“其他特性“,类似如下消息:
hello gitkey, this is gitolite3@yourCentOSServerName running gitolite3 v3.03-34-ga171053 on git 1.7.10.3
R W gitolite-admin
R W testing
(您似乎已选择“ gitolite3
”作为运行 gitolite 服务器的用户帐户名)
确保~gitolite3
chmod 处于打开状态755
(组或其他用户中没有“w”),否则 ssh 将无法工作(权限被拒绝)
如果 ssh 仍然不起作用,请参阅“无法将 master 推送到 Github“用于 ssh 故障排除:
ssh -vvv gitolite
应该告诉您有关您可能遇到的任何 ssh 错误的更多信息。