假设我有一个~/.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