ssh 配置通配符以避免输入用户名

ssh 配置通配符以避免输入用户名

我经常通过 ssh 进入 openstack 实例。所有实例都位于专用 VLAN 和子网 (10.2.xx) 上。所有实例都具有相同的用户名 (bob)

我像这样连接:

ssh [email protected]

或者有时像这样

ssh 10.2.x.x -l bob

当我 ssh 到 10.2.xx 子网上的任何虚拟机时,是否可以将我的笔记本电脑配置为自动使用名称 bob?我不想在通过 sshing 进入任何其他子网上的计算机时自动使用 bob。

看起来像ssh配置不支持通配符。 (如果我错了请纠正我)。我想也许别名可以做到这一点,但我不确定语法是什么。

答案1

ssh_config 手册页中有一个部分PATTERNS详细介绍了如何做到这一点,您使用*和的通配符?。在我的~/.ssh/config

Host 172.16.*.*
   User drav

然后发出ssh -vvv 172.16.13.1

debug1: Reading configuration data /home/drav/.ssh/config
debug1: /home/drav/.ssh/config line 4: Applying options for 172.16.*.*
debug1: /home/drav/.ssh/config line 46: Applying options for *

请注意,这些匹配是规范的,因此如果 DNS 中的“fred.mynetwork.com”是 172.16.13.1,则发布ssh fred.mynetwork.com将与该条目不匹配Host 172.16.*.*。不过,您始终可以添加附加Host *.mynetwork.com条目以在使用 DNS 名称时应用相同的选项。

相关内容