使用通配符简化 ssh 主机名

使用通配符简化 ssh 主机名

我有许多服务器的名称以 001、002、003 结尾,我想将它们重命名为更简单的名称;如下所示:

Host server*
User user
HostName server-xxx-yyy-zzz-*

Host client*
User user
HostName client-xxx-yyy-zzz-*

然后ssh server001执行如下ssh server-xxx-yyy-zzz-001

有没有办法只使用 ssh-config 来做到这一点?我可以在 /etc/hosts 中做一些操作吗?或者我必须创建一个脚本来为每个主机生成配置?

答案1

我有同样的问题,并且我输入了新名称,/etc/hosts因为我也需要它们:

  • 作为ping目标
  • 在浏览器 URL 中(管理控制台或测试服务器)
  • 在数据库连接中
  • 在 Git URL 中。

完成后,您只需要一个通用条目~/.ssh/config

Host client* server*
    User username
    IdentityFile ~/.ssh/id_rsa # if the same everywhere

当然,SSH 会为每个新名称骚扰您一次,以将主机密钥添加到known_hosts。

相关内容