我的目标是能够输入:
srv01.sms 并连接到 srv01.anything0.example
srv02.mail 并连接到 srv02.anything1.example
我知道我可以编辑 .ssh/config 文件来执行类似的操作,但我不想编辑 500 台服务器的 .ssh/config 文件
有没有办法做到这一点?在 ssh 配置中? bash 别名?
答案1
如果您只有很少的模式(短信/邮件),但服务器数量很大,那么您可以使用 ssh_config 支持的模式
模式由零个或多个非空白字符、“*”(匹配零个或多个字符的通配符)或“?”组成(与一个字符完全匹配的通配符)。
(从ssh_配置(5))。
以及%h
主机名规范中的(远程主机名)标记:
Host srv*.sms
Hostname %handmore.example
Host srv*.mail
Hostname %handmore.example
现在,任何运行尝试ssh srv<xyz>.sms
都将连接到srv<xyz>.smsandmore.example
,同样对于.mail
。