注销后,git ls-remote失败

时间:2015-09-29 14:35:14

标签: git ssh buildbot

我在使用“git ls-remote命令”时遇到了一个奇怪的问题。 我在注销时收到以下错误消息:

  

权限被拒绝(publickey)。   致命的:无法从远程存储库读取。

     

请确保您拥有正确的访问权限   存储库存在。

当我尝试使用buildbot时出现,我不知道如何解决它。

我设法使用简单的脚本loop.sh来模拟问题:

for i in {1..100}
do
   echo "$i ls-remote"
   git ls-remote git+ssh://git@sourcesup.renater.fr:2222/simol.git
   echo
   sleep 4
done

我使用屏幕运行此脚本。 它在我登录时有效:

  

1 ls-remote   3d461dd036960bb69a90a4259789bed5dc2741f7 HEAD   3d461dd036960bb69a90a4259789bed5dc2741f7 refs / heads / master

     

2 ls-remote   3d461dd036960bb69a90a4259789bed5dc2741f7 HEAD   3d461dd036960bb69a90a4259789bed5dc2741f7 refs / heads / master

     

3 ls-remote   3d461dd036960bb69a90a4259789bed5dc2741f7 HEAD   3d461dd036960bb69a90a4259789bed5dc2741f7 refs / heads / master

然后,我退出...等待几秒钟,然后重新登录。 git ls-remote命令失败。 在这个例子中,我在第13次迭代后退出:

  13 ps-remote   3d461dd036960bb69a90a4259789bed5dc2741f7 HEAD   3d461dd036960bb69a90a4259789bed5dc2741f7 refs / heads / master

     

14 ls-remote   权限被拒绝(publickey)。   致命的:无法从远程存储库读取。

     

请确保您拥有正确的访问权限   存储库存在。

     

15 ls-remote   权限被拒绝(publickey)。   致命的:无法从远程存储库读取。

     

请确保您拥有正确的访问权限   存储库存在。

你知道如何解决这个问题吗?

非常感谢!

2 个答案:

答案 0 :(得分:0)

听起来您没有使用launchd启动buildbot实例,但使用终端/ ssh连接。有一个有用的page“没有通过launchd启动的buildbot进程可能无法正常工作。更糟糕的是,这些权限中的一些将可用于在ssh会话中启动的进程,但是一旦你注销就会消失那个ssh会话。“

答案 1 :(得分:0)

非常感谢你的帮助。

我终于找到了解决问题的方法。 当我连接ssh:

时,我必须将ForwardAgent设置为'no'
ssh -o ForwardAgent=no my_buildbot_slave_machine

实际上,默认情况下,在我的ssh配置中,ForwardAgent设置为“yes”。这意味着当我连接到从机时,而不是从机的那些机器上使用我自己的机器的ssh键。当我断开连接时,我自己的ssh键不再可用,并且出现问题。