![配置 SSH 以从文件中读取主机的主机名](https://linux22.com/image/185091/%E9%85%8D%E7%BD%AE%20SSH%20%E4%BB%A5%E4%BB%8E%E6%96%87%E4%BB%B6%E4%B8%AD%E8%AF%BB%E5%8F%96%E4%B8%BB%E6%9C%BA%E7%9A%84%E4%B8%BB%E6%9C%BA%E5%90%8D.png)
我的文件中有以下主机定义~/.ssh/config
:
Host testbox
User abc
Port 12345
HostKeyAlias=hello
HostName 123.123.123.123
问题是,该主机一直在改变IP。 IP 将被刷新并按~/ip.txt
其内容存储在此文本文件中。
有没有办法配置 SSH,以便当我运行时
ssh testbox
~/ip.txt
我自动连接到从?读取的最新 IP 。
(如果可能的话,我不想使用动态 DNS。)
答案1
如果你~/ip.txt
可以包含
hostname 1.2.3.4
然后你可以
include ~/ip.txt
在适当的地方~/.ssh/config
。
答案2
IIUC,你可以ProxyCommand
这样使用:
Host test
Port 12345
ProxyCommand ssh -p %p "$(cat ~/ip.txt)" nc localhost %p
StrictHostKeyChecking no