Tim*_*orn 9 server ssh networking hostname
我有很多服务器,它们都以相同的 server.company.net 结尾,例如 vded-xx-001.servers.company.net,我想知道是否有可能做到这样我就可以输入 vded- xx-001 并让它自动附加servers.company.net?
所以我想输入
ssh user@vded-xx-001
Run Code Online (Sandbox Code Playgroud)
并让它真正连接到
ssh user@vded-xx-001.servers.company.net
Run Code Online (Sandbox Code Playgroud)
我曾尝试在 /etc/network/interfaces 中将我的 DNS 搜索域设置为 servers.company.net,但这并没有达到预期的结果。
任何人都能够指出我正确的方向?
提前致谢
小智 20
可能你已经解决了这个问题,但也许以后它可以帮助某人:你不需要弄乱你的resolv.conf,只需在你的 中使用类似的东西~/.ssh/config:
Host vded-*-001 test-*-something-fixed-*
HostName %h.servers.company.net
User someusername
Run Code Online (Sandbox Code Playgroud)
所以稍后你可以使用:
ssh vded-alotofstuff-001
ssh vded-somethingels-001
ssh test-02-something-fixed-somethingelse
Run Code Online (Sandbox Code Playgroud)
这是最简单的解决方案。它适用于所有主机,不需要 root 或访问任何 DNS/解析器系统。
添加到~/.ssh/config文件的顶部(如果尚不存在,则创建):
CanonicalizeHostname yes
CanonicalDomains servers.company.net
Run Code Online (Sandbox Code Playgroud)
文档 ( man 5 ssh_config):
规范化主机名
控制是否执行显式主机名规范化。默认值no是不执行任何名称重写并让系统解析器处理所有主机名查找。如果设置为yes,那么对于不使用ProxyCommand 的连接,ssh 将尝试使用CanonicalDomains后缀和CanonicalizePermittedCNAMEs规则规范化命令行上指定的主机名。如果CanonicalizeHostname设置为always,则规范化也适用于代理连接。
如果启用此选项,则使用新目标名称再次处理配置文件,以在匹配的Host和Match节中选取任何新配置。
| 归档时间: |
|
| 查看次数: |
15672 次 |
| 最近记录: |