Git ssh密钥意外传输到我自己的计算机
我有一台开发机器“膝上型电脑”,在这里我有一个用于Bitbucket中git帐户的SSH密钥。我还有一个生产服务器“服务器”,我不想在其中使用此密钥,而是想在Bitbucket中使用另一个具有只读权限的密钥 我预期的工作流程是使用SSH登录到服务器,然后在那里运行Git ssh密钥意外传输到我自己的计算机,git,ssh,ssh-agent,Git,Ssh,Ssh Agent,我有一台开发机器“膝上型电脑”,在这里我有一个用于Bitbucket中git帐户的SSH密钥。我还有一个生产服务器“服务器”,我不想在其中使用此密钥,而是想在Bitbucket中使用另一个具有只读权限的密钥 我预期的工作流程是使用SSH登录到服务器,然后在那里运行git pull。它很好用。但是,当我从笔记本电脑注销并尝试执行git推送时,推送被拒绝,因为我没有写入权限。使用GIT\u SSH\u COMMAND=“SSH-vv”GIT push和SSH add-l,我发现,如果我在服务器上添加
git pull
。它很好用。但是,当我从笔记本电脑注销并尝试执行git推送时,推送被拒绝,因为我没有写入权限。使用GIT\u SSH\u COMMAND=“SSH-vv”GIT push
和SSH add-l
,我发现,如果我在服务器上添加只读SSH密钥,它也会出现在我的笔记本电脑上,因此当我推送时,会使用只读密钥。当我使用ssh add-D
将其从笔记本电脑中删除时,它在服务器上也不再可用。所以,当我登录到服务器时,SSH代理似乎总是使用我的笔记本电脑配置
我怎样才能防止这种情况?当我登录到服务器时,我想使用服务器的只读ssh密钥,当我在笔记本电脑上时,我想使用我个人的ssh密钥
我尝试更改/etc/ssh/ssh\u config
以包括
Host bitbucket.org
ForwardAgent no
但这对我没有帮助
我试图寻找其他问题,但每个人都有相反的问题,他们正在尝试同步密钥,所以我找不到答案
谢谢你的提示。你试过IdentityFile/path/to/key
顺便说一句,您不应该更新/etc/ssh/ssh\u config
,创建~/.ssh/config
是一个更好的选择(推荐)
此外,您应该在“服务器”和“笔记本电脑”上使用不同的配置。您是否尝试过IdentityFile/path/to/key
?顺便说一下,您不应该更新/etc/ssh/ssh\u config
,~/.ssh/config
是一个更好的选择。您应该在服务器或笔记本电脑上使用不同的配置。@Calumah谢谢,IdentityFile
是更改的正确选项!我最初没有更新~/.ssh/config
,因为它还不存在,所以我创建了它。也谢谢你。您应该将注释更改为答案!因此,我对它进行了更多的研究,出于某种原因,我被教导使用ssh-A…
连接到服务器,这就是为什么在添加到ssh代理时密钥被传输到我的笔记本电脑的原因。不使用-A
选项并仅添加密钥也可以解决问题。给你答案;)谢谢