无法登录到gitolite服务器进行克隆,但可以通过ssh连接

时间:2013-05-20 02:10:11

标签: git ssh gitolite

虽然several questionssimilar个症状,但没有一个完全相同,那里提供的解决方案也没有解决我的问题。

据我所知,使用these instructions并在克服this issue后成功设置了gitolite。主机用户是git,我在工作站上设置了以下.ssh / config文件:

Host admin
    Hostname server.com
    User git
    IdentityFile ~/.ssh/admin


Host dev
    Hostname server.com
    User git
    IdentityFile ~/.ssh/micha

我可以使用带有ssh admin的admin配置ssh并获得以下响应:

stdin: is not a tty
hello admin, this is git@hostname running gitolite3 v3.5.1-2-g962e465 on git 1.7.10.2

 R W    gitolite-admin
 R W    testing
Connection to xxx.xxx.xxx.xxx closed.

每当我尝试克隆gitolite-admin repo时,我得到以下响应:

Cloning into 'gitolite-admin'...
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

根据之前的ssh回复,我确实拥有访问权限。我还验证了git用户是服务器上存储库文件的所有者。研究完之后,我将本地GIT_SSH从TortoisePlink.exe更改为C:\ Program Files(x86)\ Git \ bin \ ssh.exe,仍然得到相同的响应。 clone命令的以下所有变体都会引发相同的响应:

  • 'git clone admin:gitolite-admin'
  • 'git clone admin:gitolite-admin.git'
  • 'git clone admin:repositories / gitolite-admin'
  • 'git clone admin:〜/ repositories / gitolite-admin'
  • 'git clone ssh:// admin:gitolite-admin'
  • 'git clone git @ admin:gitolite-admin'
  • 上述各种变化的各种排列。

我现在对如何克服这个问题感到茫然。

1 个答案:

答案 0 :(得分:1)

事实证明我已经修复了问题,我只需关闭git-bash并重新启动它。正如this answer中所示,将TortoisePlink中的GIT_SSH变量更改为C:\ Program Files(x86)\ Git \ bin \ ssh.exe是必需的。

也许天真,我以为每次使用git clone命令时都会解析变量,但是一旦我重新启动git-bash,git clone命令就可以了!

相关问题