我的 resolv.conf 搜索顺序中有许多本地域。当我连接到不合格(没有 DNS 后缀)的主机名时,我非常希望默认转发 SSH 代理。我能想到的最好的东西是 ~/.ssh/config 中的以下内容:
Host *.edu
ForwardAgent no
Host *.com
ForwardAgent no
Host *.net
ForwardAgent no
Host *.org
ForwardAgent no
Host *
ForwardAgent yes
除了列出我仍想转发到的 edu/com/net/org 的已知后缀,例如 .srv.example.com。
对于具有主机命名前缀约定的站点(例如 fc-* 用于 Fedora 系统),一个简单的通配符条目可以匹配它们,但这不适用于通用名称或非前缀名称。
有没有比上述丑陋的黑客更好的方法来做到这一点?
这很简单:
第一行基本上匹配包含至少一个的所有内容,
.
并且由于第一个匹配很重要,因此下一行中更广泛的模式永远不会被评估。显然,您会将特定主机置于所有这些之上。