我经常通过 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 名称时应用相同的选项。