我想在我的 SSH 配置中有一个通配符,以将我的默认用户名设置为特定域上所有主机的特定值。但我也想为某些特定主机提供一些短名称。我希望这样的事情可以工作:
Host *.mydomain.com
User myusername
Host host1
Hostname host1.mydomain.com
Run Code Online (Sandbox Code Playgroud)
使用这些设置,如果我输入ssh host1.mydomain.com它的计算结果为myusername@host1.mydomain.com,但如果我输入ssh host1它不会应用我的用户设置,而是看到mylocalusername@host1.mydomain.com.
有没有办法让通配符匹配最终扩展的主机名,以便我可以输入短格式或长格式并获得相同的结果?
小智 24
您可以简单地设置CanonicalizeHostname为yes使用别名的规范主机名重新解析 ssh_config。例如:
CanonicalizeHostname yes
Host *.mydomain.com
User myusername
Host host1
HostName host1.mydomain.com
Run Code Online (Sandbox Code Playgroud)
或者,如果您还想重新映射主机名,则可以使用Match而不是Host仅匹配规范主机名。例如,在:
Match canonical host="*.mydomain.com"
User myusername
Host host2.mydomain.com
HostName host2.otherdomain.com
Run Code Online (Sandbox Code Playgroud)
当您连接到host2.mydomain.com.
小智 21
只需使用:
Host *.mydomain.com host1
User myusername
Host host1
Hostname host1.mydomain.com
Run Code Online (Sandbox Code Playgroud)
小智 6
您可以在 .ssh/config 中使用 %h.mydomain.com。
Host host?
User myusername
Hostname %h.mydomain.com
Host host??
User myusername
Hostname %h.mydomain.com
Host host???
User myusername
Hostname %h.mydomain.com
Run Code Online (Sandbox Code Playgroud)
现在你可以这样做:
SSH 主机 1代替
ssh host1.mydomain.com
SSH 主机 10代替
ssh host10.mydomain.com和 SSH 主机 100
问候, 伯特
| 归档时间: |
|
| 查看次数: |
28718 次 |
| 最近记录: |