我使用 .ssh/config 文件根据子域的给定部分适当地设置我的用户名,例如
Host *widgetshop.com*
User foobar
ControlMaster auto
ControlPath ~/.ssh/socket-%r@%h:%p
Host *
ControlMaster auto
ControlPath ~/.ssh/socket-%r@%h:%p
如果我写这行得通:
ssh foo.widgetshop.com
但如果我要写它就不起作用:
ssh foo
在搜索路径解析时,它变成相同的 fqdn。
任何人都可以在调用 ssh 或其他方法之前扩展短名称吗?
从 OpenSSH 6.5 开始,您可以使用
CanonicalizeHostname
ssh_config 中的选项来执行此操作。这是一个应该做你想做的例子:也许您可以使用以下
host
命令:将其放入 shell 脚本(将“foo”替换为“$1”)并执行 ssh。
ssh_config 手册页回答了这个问题:
换句话说,它不起作用,因为它不是那样工作的。
请参阅我的“替代方法”)