ssh -A 仍然不允许 git pull

ssh -A 仍然不允许 git pull

我们有一个设置,我们的 git 服务器需要公钥进行身份验证才能推送或拉取。我试图在我们的一台服务器上这样做,但不知道为什么它不起作用。我搜索了又搜索,我发现的所有内容都说只需ssh -A在登录服务器时运行,这应该会转发允许 git 操作所需的内容,但它不起作用。

在我的本地机器上,我可以 cd 进入一个目录,运行git push origin master输入我的 ~/.ssh/id_rsa 密码,它可以完美运行。

当我登录到服务器时,我尝试ssh-add ~/.ssh/id_rsa输入密码,然后运行ssh -A [user]@[server],然后登录正常,然后我进入目录并运行git pull我给出的目录permission denied (publickey)

我不明白为什么它不允许我从服务器推送或拉取,它在本地工作,并且我在 ssh 进入服务器时使用了 -A 标志,但总是permission denied (publickey)

希望对服务器方面更熟练的人能够发现我做错了什么,而且很容易修复。谢谢大家,我很感激你们的时间和帮助

答案1

用于GIT_SSH_COMMAND="ssh -v" git pull获取详细输出ssh

答案2

说实话,我不完全理解你的设置,但总的来说,我建议使用SSH 配置文件对于此类用例。

例如,如果您的服务器名称是my-server.com,它可能看起来像以下内容:

Host my-server.com
 HostName my-server.com
 Port 22
 IdentityFile ~/.ssh/id_rsa

它将提示您输入私钥的密码。

相关内容