SSH ForwardAgent + 多主机

SSH ForwardAgent + 多主机

我在 ~/.ssh/config 中有几个主机,它们在本地机器上运行良好,但远程机器不知道这些主机。

Host A
    HostName github.com
    IdentityFile ~/.ssh/A_rsa
Host B
    HostName github.com
    IdentityFile ~/.ssh/B_rsa
Host remotemachine.com
    ForwardAgent yes

从本地主机:

$ ssh -T git@A
Hi A! You've successfully authenticated, ...
$ ssh -T git@B
Hi B! You've successfully authenticated, ...

从远程主机:

$ ssh remotemachine
$ ssh-add -l
  ... both keys present ...
$ ssh -T git@B
ssh: Could not resolve hostname B: Name or service not known
$ ssh -T [email protected]
Hi A! You've successfully authenticated, ...

如何在远程机器上使用密钥 B?

也就是说,在本地机器上我可以执行此操作ssh git@B,但在远程机器上主机名B未知。似乎 ssh-agent 只转发密钥,而不转发主机。如何让它也转发主机?

我也可以在远程机器上创建 ~/.ssh/config,但是要把什么放入 IdentityFile 中呢?我可以使用$ ssh -i KEYFILE,但是如果密钥被转发,要把什么放入 KEYFILE 中呢?

答案1

是的,唯一的方法是在每台机器上使用ssh -i或创建相同的设置。~/.ssh/configIdentityFile

然而,复制民众密钥可以分配给其他服务器。也就是说,不是 ~/.ssh/A_rsa,但仅限于~/.ssh/A_rsa.pub。ssh 客户端将使用代理来获取私钥,就像在本地计算机上一样。

相关内容