Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git ssh密钥意外传输到我自己的计算机_Git_Ssh_Ssh Agent - Fatal编程技术网

Git 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,我发现,如果我在服务器上添加

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

我预期的工作流程是使用SSH登录到服务器,然后在那里运行
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
选项并仅添加密钥也可以解决问题。给你答案;)谢谢