“git pull”失败,但仅限于远程?

“git pull”失败,但仅限于远程?

当我尝试时,它就ssh -C user@my_server 'cd /home/me/my_repo'起作用了。当我尝试时ssh user@my_servercd /home/me/my_repo'它就git pull起作用了。

但是当我尝试时,ssh -C user@my_server 'cd /home/me/my_repo' && git pull它失败了Permission denied (publickey)

我的问题确实是:为什么它甚至在本地也能工作当我这样做时,ssh -C user@my_server 'cd /home/me/my_repo && git pull'git 是否会关心我用于连接 my_server 的 ssh 密钥,而不仅仅是用于连接 my_repo 的远程的 ssh 密钥?

答案1

SSH 默认会使用目录中的密钥.ssh。这通常在 中~/.ssh/

看来您编写的以下命令可能是拼写错误:

ssh -C user@my_server 'cd /home/me/my_repo' && git pull

上述命令将运行 ssh,并在成功完成(退出状态 0)后运行git pull。我之所以这么说,是因为它可能与您的问题有关,希望能够有所帮助,但又不会太过迂腐。

回答您的问题,git 将默认使用.ssh运行该命令的机器上的文件夹中的密钥。

因此应尽量在家里使用钥匙user@my_server

Git 不知道其所在服务器之外的服务器上的密钥。

相关内容