Ubuntu

如何在 ssh_config 中使用正則表達式作為主機名?

  • January 13, 2022

所以,我的本地地址在我的區域網路上不斷變化。無法更改 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

無法在 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

不,你不能。尤其是在這種情況下。ssh 客戶端應該如何“猜測”您要連接的 IP?

設置適當的 DHCP 伺服器或在伺服器上配置靜態 IP。

引用自:https://serverfault.com/questions/1089793