ssh_config:添加一个主机部分,即使在通过主机名连接时也匹配 IP

1N4*_*001 7 ssh ip dns hostname openssh

我希望我的 ssh 配置中有一个与任何本地 IP 匹配的主机部分:

Host 10.* 192.168.*.* 172.31.* 172.30.* 172.2?.* 172.1?.*
  setting
  setting
  ...
Run Code Online (Sandbox Code Playgroud)

只要我直接连接到相关的 IP,这就会起作用。但是,如果我连接到稍后解析为这些 IP 之一的主机名,则该部分将被忽略。

sshd 有我认为可以用于此的匹配地址部分,但它们在 ssh 客户端配置中不起作用。

有没有办法实现这一目标?

Jak*_*uje 7

你不能只使用ssh_config选项来做到这一点,但有exec选项可以为你做到这一点:

Match exec "getent hosts %h | grep -qE '^(192\.168|10\.|172\.1[6789]\.|172\.2[0-9]\.|172\.3[01]\.)'"
   setting
Run Code Online (Sandbox Code Playgroud)

  • 这有效,谢谢!这是我最后使用的:`Match exec "getent hosts %h | grep -qE '^(192\.168|10\.|172\.1[6789]\.|172\.2[0-9 ]\.|172\.3[01]\.)'` (2认同)