使用特定密钥连接跳转主机,无需修改 ssh 配置文件

使用特定密钥连接跳转主机,无需修改 ssh 配置文件

我正在尝试编写一个脚本,通过使用另一个脚本作为 ProxyJump 连接到 Linux 服务器:

ssh -J root@proxyhost root@target 

我有两个不同的密钥(实际上是 ssh 证书),我想告诉 ssh 将一个密钥用于代理主机,另一个密钥用于目标。我知道我可以为此修改 ssh 配置,但我想在命令行上指定它,这样我就不必依赖有效的 ssh 配置。

所以我在寻找类似的东西:

ssh -i proxyhostkey -J root@proxyhost -i targetkey root@target

ssh 手册页的-J选项说明如下(重点是我的):

请注意,命令行上提供的配置指令 一般来说适用于目标主机,而不是任何指定的跳转主机。使用 ~/.ssh/config 指定跳转主机的配置。

我可以做我想做的事吗?还是我必须确保文件~/.ssh/config正确?

答案1

不,你要么

  • 使用两个-i参数并允许 ssh 提供两个都-i两个服务器的密钥(对战的顺序-J无关紧要);

  • 或者-J用手动 ProxyCommand 替换:

    ssh target -oProxyCommand="ssh proxyhost -i ~/otherkey -W %h:%p" -i ~/thiskey
    

相关内容