使用 openssh 9.2
为了安全起见,我使用 match 来限制可以访问 ssh 服务器的客户端
Match Address 10.0.0.30
PubkeyAuthentication yes
这工作正常,但由于此客户端计算机可能会更改其 IP,因此我希望 SSH 服务器“查找” IP 地址。就像这样
Match Address myclient.mydomain.net
PubkeyAuthentication yes
该子域名可通过 DNS 访问,因此如果您在该 ssh 服务器上执行其中的操作,nslookup
则会myclient.mydomain.net
报告10.0.0.30
。
遗憾的是,这不起作用:(。那么 openssh 是否支持这样的 DNS 查找,如果支持,那么语法是什么? 我尝试了Host
匹配,但我认为这指的是 ssh 服务器主机。还有一个RDomain
匹配,但它也没有像我希望的那样工作。
该手册对我没有帮助。
https://www.man7.org/linux/man-pages/man5/sshd_config.5.html
Match Introduces a conditional block. If all of the criteria on
the Match line are satisfied, the keywords on the following
lines override those set in the global section of the
config file, until either another Match line or the end of
the file. If a keyword appears in multiple Match blocks
that are satisfied, only the first instance of the keyword
is applied.
The arguments to Match are one or more criteria-pattern
pairs or the single token All which matches all criteria.
The available criteria are User, Group, Host, LocalAddress,
LocalPort, RDomain, and Address (with RDomain representing
the rdomain(4) on which the connection was received).
The match patterns may consist of single entries or comma-
separated lists and may use the wildcard and negation
operators described in the PATTERNS section of
ssh_config(5).
答案1
我认为这种方法行不通。这种方法不安全,因为 IP 地址的变化速度比 DNS 快,而且实施起来也不太可行。
我建议只设置基于密钥的身份验证,禁用密码身份验证,而不必担心 IP 地址。
只要你保密你的密钥,这将是完全安全的。
如果你需要有关 openssh 服务器的基于密钥的身份验证的信息,你可能会发现互联网上有很多信息。一个随机示例是文章 如何在 Linux 服务器上配置基于 SSH 密钥的身份验证。
答案2
尝试使用
Match Host bob.builder.com