配置 SSH 从文件中读取主机的主机名

Jim*_*Jim 5 ssh openssh

我的文件中有以下主机定义~/.ssh/config

Host testbox
  User abc
  Port 12345
  HostKeyAlias=hello
  HostName 123.123.123.123
Run Code Online (Sandbox Code Playgroud)

问题是,这个主机一直在改变IP。IP 被刷新并~/ip.txt作为其内容存储在此文本文件中。

有没有办法配置SSH,以便在我运行时

ssh testbox
Run Code Online (Sandbox Code Playgroud)

我自动连接到最新的 IP 读取~/ip.txt

(如果可能,我宁愿不使用动态 DNS。)

小智 6

如果你 ~/ip.txt 可以包含

hostname 1.2.3.4
Run Code Online (Sandbox Code Playgroud)

然后你可以

include ~/ip.txt
Run Code Online (Sandbox Code Playgroud)

在 ~/.ssh/config 中的适当位置。


Ark*_*zyk 3

IIUC,你可以ProxyCommand这样使用:

Host test
Port 12345
ProxyCommand ssh -p %p "$(cat ~/ip.txt)" nc localhost %p
StrictHostKeyChecking no
Run Code Online (Sandbox Code Playgroud)