【发布时间】:2022-06-14 17:23:32
【问题描述】:
我有两个不同的环境(生产和开发),它们都包含一个具有相同本地 DNS 记录的框,即:foo.example.com。
我想在我的 SSH 配置中创建一个类似于以下内容的条目,这样我就可以使用通配符来捕获所有不同的服务名称,并让它神奇地解析为正确的 DNS 记录。 (忽略这将与known_hosts 文件有问题的部分,以及缺少ProxyJump 相关内容的部分)
Host *.prod *.dev
HostName %h.example.com
这样我就可以做到ssh foo.dev 或ssh foo.prod 并且只要这些条目存在本地DNS 记录,它就应该可以工作。但是,使用%h 以这种方式执行此操作,它包括来自Host 的结尾部分,例如,它最终被解析为foo.dev.example.com 而不是foo.example.com。我更愿意这样做,因此我不需要在 SSH 配置文件中为每个环境中的每个框创建特定条目,而只需要在需要时更新每个环境中的 DNS 记录。
我感觉Match 关键字是我想要在. 之前提取名称的方法,但我需要它在Unix、Linux 和Windows 中工作,因此使用@987654334 等工具的解决方案@ 不起作用。
我尝试跟随the man page,但没有成功。我的 google-foo 让我失望了。 ????
任何帮助将不胜感激!
【问题讨论】:
标签: linux ssh openssh ssh-config