【发布时间】:2018-03-17 08:40:51
【问题描述】:
在我完成测试并准备对生产进行更新(python Flask 应用程序和支持类)后,我有几台远程机器需要从存储库中提取。一些机器也需要从不同的分支中提取。我一直在通过 SSH 连接到每台机器以运行 git pull,但这变得烦人且耗时。
我正在尝试运行一个完成 git pull 的 ssh 命令。这是我尝试过的:
ssh dev@<remote IP> "cd /home/dev/<repo> && git pull"
我得到了一个
权限被拒绝(公钥)。 致命:无法从远程存储库读取。
我能够很好地运行其他不与远程源交互的 git 命令。如:
ssh dev@<remote IP> "cd /home/dev/<repo> && git remote -v"
当我真正 ssh 到远程机器时。导航到目录并运行 git pull 没有问题。
我还确保将 ssh 密钥添加到 ssh-agent,这样密钥上的密码提示就不会成为问题。
认为这可能是一个密钥权限问题,所以我仔细检查了运行命令的用户是否可以读取密钥。
令人沮丧的是,我能够通过 ssh 连接到远程机器并正常运行 pull,但无法运行上述格式的命令。
非常感谢您的帮助!
【问题讨论】:
-
您的错误消息肯定表明 ssh 在通过 git 调用时无法登录,尽管我不知道为什么会这样。
-
你如何对 git 进行身份验证?