我已经设置了ssh和路由器端口转发,以便在不在家时可以ssh进入家庭网络中的计算机。当前,我的.ssh/config
文件中有两个条目,一个用于当我在家庭网络中时,另一个用于当我不在家庭网络中时:
Host mycomputer
HostName 192.168.X.X
Host mycomputerathome
HostName my.no-ip.dynamic
这行得通,但我想知道是否可以使自己更轻松。我希望有一种方法可以列出多个HostName条目,这样,如果第一个失败,它会退回到第二个:
Host mycomputer
HostName 192.168.X.X
HostName my.no-ip.dynamic
因此,它将首先尝试连接到本地网络上的主机,如果该主机不存在,它将尝试使用我的no-ip动态主机名进行连接。我尝试输入两个主机名,但ssh mycomputer
只运行了什么也不做的块。
我已经关闭了密码验证功能,以支持密钥,因此在不在本地网络上时意外连接到本地计算机上的计算机,也不会冒我的密码无法进入任何地方的风险。
如果第一个不起作用,是否可以指定备用主机名来尝试?
.ssh/config
可以为某些属性运行脚本。我知道您可以使用ProxyCommand。你可以做一些如本Q&A从SF - serverfault.com/questions/401233/...。