因此,我的本地地址在局域网上不断变化。无法更改 dhcp 设置。地址都类似:192.168.Ax、192.168.Ay、192.168.Az 当我关闭 dhcp 服务器时,下次它会给出 192.168.Bx、192.168.By、192.168.Bz 它保持 x、y 和 z 不变。
因此,我尝试像这样编辑 ~/.ssh/config
Host pc1
HostName pc.local
User xx
Port 22
Host pc2
HostName "192.168.???.n1"
User xx
Port 22
Host pc3
HostName "192.168.*.n2"
User xx
Port 22
调用ssh pc1
可以正常工作。使用ssh 192.168.A.x
完整地址也可以。但是,调用ssh pc2
会出错could not resolve hostname 192.168.???.n1
答案1
在 ssh_config 中无法使用正则表达式作为主机名,但你可以使用本地域名,就像你在 PC1 中所做的那样
Host pc1
HostName pc.local
User xx
Port 22
Host pc2
HostName pc2.local
User xx
Port 22
Host pc3
HostName pc3.local
User xx
Port 22
使用主机名,您永远不需要知道 IP。然后您可以 ssh 到主机名
ssh pc.local
答案2
不,你不能。特别是在这种情况下。ssh 客户端如何“猜测”你想要连接的 IP?
设置适当的 DHCP 服务器或在您的服务器上配置静态 IP。