使用远程服务器的 ssh 密钥连接到 git

使用远程服务器的 ssh 密钥连接到 git

我有一台笔记本电脑,其 ssh 密钥已添加到 github。我可以从这台笔记本电脑上毫无问题地使用我的任何存储库。

我也有一台台式电脑,但是这台电脑的 ssh 密钥是未添加到 github。

我想从台式计算机通过 ssh 进入我的笔记本电脑并从那里工作,但是,在执行 ssh 时我无法使用 git,因为即使我已登录到我的笔记本电脑,git 似乎也在使用我的台式计算机的 ssh 密钥。

我该怎么做才能强制 git 使用我正在 ssh 连接的机器的 SSH 密钥?

编辑:我没有在其他终端连接到 git。

下面是一个例子。我连接到 github(通过 ssh)来检查哪个用户通过了我的 ssh 密钥的身份验证。

所有这些命令都在我的台式电脑的同一个终端中运行:

(base) gonzalo@DESKTOP:~$ hostname
DESKTOP
(base) gonzalo@DESKTOP:~$ ssh [email protected]
Hi Gonzalo933! You've successfully authenticated, but GitHub does not provide shell access.
(base) gonzalo@DESKTOP:~$ ssh laptop
(base) gonzalo@laptop:~$ hostname
laptop
(base) gonzalo@laptop:~$ ssh [email protected]
Hi Gonzalo933! You've successfully authenticated, but GitHub does not provide shell access.

正如你所见,尽管我通过 ssh 登录到我的笔记本电脑,但我仍然是 github 用户“Gonzalo933”

现在这些命令在我的笔记本电脑上物理运行

(base) gonzalo@laptop:~$ hostname
laptop
(base) gonzalo@laptop:~$ ssh [email protected]
Hi gonzalo*****! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

现在,尽管它是我之前通过 SSH 连接的同一台机器,但用户已经不同了(出于隐私原因,我隐藏了部分名称)

答案1

看起来这个答案是倒着说的。你可以找到原文在它的历史上


您指出您通过 SSH 连接到的主机以某种方式使用了本地主机上的 SSH 密钥。基本上只有一种情况可能发生:在某处启用了 SSH 代理转发。检查~/.ssh/config/etc/ssh/ssh_config

你可以使用 找到证据ssh -v。在远程 shell 启动之前,如果启用了代理转发,它将打印此行:

debug1:请求身份验证代理转发。

相关内容