通过 IP 地址 ssh 时强制主机设置组

通过 IP 地址 ssh 时强制主机设置组

假设我有一个~/.ssh/config包含一些要应用的设置的文件Host *.work.example.com,但有时我需要连接到还没有 DNS 记录的主机。

我知道的解决办法是不是实际的:

  • 添加主机到/etc/hosts
  • 将所有设置复制到命令行
  • 将设置复制到另一个文件并使用ssh -F otherconfig

以及不可能的解决方案:

  • 将设置移至该Host *部分。我无法将选项应用于非工作主机。

有没有更实用的方法呢?也许类似ssh -F,但从默认配置文件中选择一个主机组,而不是复制文件内容?或者向 ssh 提供临时主机名和 IP 地址的方法?


openssh 手册页显示Host为 的一个可能选项-o,但在尝试时出现此错误:

Host directive not supported as a command-line option

答案1

找到了一个相对实用的解决方法(可以很容易地变成一个alias

ssh -oHostname=<ipaddress> <fakehostname>

e.g.
$ ssh -oHostname=123.123.123.123 a.work.example.com

相关内容