我使用.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.
解决方法
也许您可以使用host命令:
ssh $(host -t A foo | cut -f1 -d" ")
把它放入shell脚本(用“$1”替换“foo”)和exec ssh.