无法在 Windows 7 上使用 Tortoisegit 克隆 gitolite 3 gitolite-admin

无法在 Windows 7 上使用 Tortoisegit 克隆 gitolite 3 gitolite-admin

我已经使用 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

安装此更新

  1. selinux-策略-3.7.19-159
  2. 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 服务器的用户帐户名)

确保~gitolite3chmod 处于打开状态755(组或其他用户中没有“w”),否则 ssh 将无法工作(权限被拒绝)

如果 ssh 仍然不起作用,请参阅“无法将 master 推送到 Github“用于 ssh 故障排除:

ssh -vvv gitolite

应该告诉您有关您可能遇到的任何 ssh 错误的更多信息。

相关内容