我以不同子網域的形式連接到一系列伺服器,host.subdomain.domain.example.com
可能有也可能沒有同名的主機。
一個明顯簡單的解決方案是做類似的事情
host *
hostname %h.domain.example.com
簡單地做ssh [email protected]
然而,子網域的名稱非常長且不可讀,容易出錯。我目前所做的是使用 bash 別名,該別名調用函數並將一些用戶友好的名稱從查找表解析到正確的子域,並啟動 ssh 命令ssh [email protected]
但我想知道是否有辦法直接從 ssh 的配置中做到這一點
例如,
host *.alias1
hostname [host without .alias1].subdomain1.domain.example.com
host *.alias2
hostname [host without .alias2].subdomain2.domain.example.com
host *.alias3
hostname [host without .alias3].subdomain3.domain.example.com
====================================== 編輯============= = ===================
這就是我想要的
host name-alias1
User user
hostname name.subdomain1
host name-alias2
User user
hostname name.subdomain2
match host *subdomain1
CanonicalizeHostname Yes
CanonicalDomains domain.example.com
[connection rules for subdomain1 ]
match host *subdomain2
CanonicalizeHostname Yes
CanonicalDomains domain.example.com
[connection rules for subdomain2 ]