ssh密钥意外转移到我自己的计算机上

问题描述

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

我期望的工作流程是使用SSH登录服务器,然后在其中运行git pull。它工作正常。但是,当我注销并尝试从笔记本电脑执行git push时,该推送被拒绝,因为我没有写权限。使用GIT_SSH_COMMAND="ssh -vv" git pushssh-add -l,我发现,如果我在服务器上添加了只读SSH密钥,它也会出现在我的笔记本电脑上,因此当我按下时,只读密钥为用过的。当我使用ssh-add -D从笔记本电脑中删除它时,它在服务器上也不再可用。因此,当我登录到Server时,SSH代理似乎始终使用我的Laptop配置。

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

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

Host bitbucket.org
    ForwardAgent no

但这对我没有帮助。

我尝试寻找其他问题,但每个人都有相反的问题,他们正尝试同步键,因此我找不到答案。

感谢任何提示

解决方法

您尝试过@if ($errors->any()) <div class="alert alert-danger"> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> @endif 吗?

顺便说一句,您不应该更新$request->validate([ 'name' => 'required','icons' => 'required',]); ,创建IdentityFile /path/to/key是更好的选择(并建议)。

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