ssh 密钥意外传输到我自己的计算机

ssh key gets unexpectedly transfered to my own computer

我有一台开发机器“笔记本电脑”,这里我有一个用于我在 Bitbucket 中的 git 帐户的 SSH 密钥。我还有一个生产服务器“服务器”,我不想在其中使用此密钥,而是想在 Bitbucket 中使用另一个具有只读权限的密钥。

我预期的工作流程是使用 SSH 登录服务器,然后我会 运行 git pull。它工作得很好。但是,当我注销并尝试从笔记本电脑执行 git push 时,推送被拒绝,因为我没有写权限。使用 GIT_SSH_COMMAND="ssh -vv" git pushssh-add -l,我发现,如果我在服务器上添加只读 SSH 密钥,它也会出现在我的笔记本电脑上,所以当我推送时,只读密钥是用过的。当我使用 ssh-add -D 从笔记本电脑中删除它时,它在服务器上也不再可用。所以看起来当我登录到服务器时,SSH 代理总是使用我的笔记本电脑配置。

我该如何防止这种情况发生?当我登录到服务器时,我想使用服务器的只读 ssh 密钥,当我在笔记本电脑上时,我想使用我个人的 ssh 密钥。

我尝试将 /etc/ssh/ssh_config 更改为包含

Host bitbucket.org
    ForwardAgent no

但这对我没有帮助。

我尝试寻找其他问题,但每个人都有相反的问题,他们正在尝试同步密钥,所以我找不到答案。

感谢任何提示。

你试过了吗IdentityFile /path/to/key

顺便说一句,您不应该更新 /etc/ssh/ssh_config,创建 ~/.ssh/config 是一个更好的选择(并推荐)。

此外,您应该在“服务器”和“笔记本电脑”上使用不同的配置。