跳转主机时使用不同的身份文件并使用单个 ssh 配置文件

跳转主机时使用不同的身份文件并使用单个 ssh 配置文件

假设我有以下设置:

    ssh       ssh
A ------> B ------> C
    ^          ^
 using A's   using B's
   key         key

.ssh/config我正在尝试在主机中A按如下方式配置它:

Host C
    HostName C.com
    IdentityFile path_to_key_1
    ProxyCommand ssh -i path_to_key_2 B -W %h:%p

哪个标识文件和路径进入path_to_key_1path_to_key_2

例如, 是path_to_key_1指 中的路径A, 是path_to_key_2指 中的路径B?还是它们都应该是 中的路径A

答案1

从“A”执行ProxyCommand,这将与 B 建立连接,从而仅创建隧道到“C”,然后“A”使用该命令连接到“C”。B 上不会打开任何 shell,也不会从 B 加载任何 ssh 密钥。

如果您需要仅存在于“B”上的身份验证密钥来向“C”进行身份验证,那么您将无法使用“ProxyCommand”。

答案2

您的.ssh/config主机A应如下所示:

Host B
    HostName B.com
    IdentityFile path_to_key_2
Host C
    HostName C.com
    IdentityFile path_to_key_1
    ProxyCommand ssh B -W %h:%p

两个path_to_key文件都必须存在于A

我在生产中使用类似的配置来访问 nagios nrpe 服务器。

编辑:更改主机C配置,删除多余的-i部分ProxyCommand ssh -i path_to_key_2 B -W %h:%p

相关内容