我在使用“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 / master14 ls-remote 权限被拒绝(publickey)。 致命的:无法从远程存储库读取。
请确保您拥有正确的访问权限 存储库存在。
15 ls-remote 权限被拒绝(publickey)。 致命的:无法从远程存储库读取。
请确保您拥有正确的访问权限 存储库存在。
你知道如何解决这个问题吗?
非常感谢!
答案 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键不再可用,并且出现问题。