Sam*_*lis 6 linux git ssh gitlab
我有几台远程机器,在完成测试并准备好对生产进行更新(python Flask 应用程序和支持类)后,需要从存储库中提取。几台机器也需要从不同的分支拉取。我一直通过 SSH 连接到每台机器来运行 git pull,但这变得烦人且耗时。
我正在尝试运行 ssh 命令来完成 git pull。这是我尝试过的:
ssh dev@<remote IP> "cd /home/dev/<repo> && git pull"
Run Code Online (Sandbox Code Playgroud)
我得到了
权限被拒绝(公钥)。致命:无法从远程存储库读取。
我可以正常运行其他 git 命令,但不与远程源交互。例如:
ssh dev@<remote IP> "cd /home/dev/<repo> && git remote -v"
Run Code Online (Sandbox Code Playgroud)
当我实际 ssh 到远程计算机时。我导航到该目录并运行git pull没有问题。
我还确保将 ssh 密钥添加到 ssh-agent 中,这样密钥上的密码提示就不会成为问题。
认为这可能是一个密钥权限问题,所以我仔细检查了该密钥是否可以被我运行命令的用户读取。
令人沮丧的是,我能够 ssh 到远程计算机并运行拉取,但无法使用上述格式运行命令。
非常感谢您的帮助!
小智 1
根据我对您问题的理解,这是我的建议:[信息有些不完整]
GIT 读取根用户目录中的 id_rsa.pub : /home/root/.ssh/id_rsa.pub
这就是为什么 git 可能无法读取 /home/your_username/.ssh/id_rsa.pub 中的密钥的原因。
因此,请检查并在 /home/root/.ssh/ 中创建密钥
$ sudo su
$ ssh-keygen
$ cd ~/.ssh
$ cat id_rsa.pub
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你。
归档时间: |
|
查看次数: |
8579 次 |
最近记录: |