我已经使用 SSHAuthorizedPrincipalsFile
功能很长一段时间了,它运行良好,但我最近发现可以使用主体文件中的“from=”关键字来限制用户的来源。
但是,问题是,一旦我添加该关键字,并且其 FQDN 与签署源主机密钥时用作主体的 FQDN 相匹配,我就无法再登录了。例如:
本地签名的主机密钥:
ssh_host_ed25519_key-cert.pub: Type: ... Public key: ... Signing CA: ... Key ID: "hostname.example.com" Serial: 0 Valid: from 2024-05-02T17:06:00 to 2025-05-01T17:07:48 Principals: hostname.example.com
本地签名的用户密钥:
id_ed25519-cert.pub: Type: ... Public key: ... Signing CA: ... Key ID: "hostname.example.com" Serial: 0 Valid: from 2024-05-02T17:18:00 to 2025-05-01T17:19:47 Principals: user
在远程主机上
user_principals
:from="hostname.example.com" user
在远程主机上
/etc/hosts
:<ipv6_address> hostname.example.com
- 如果我
user
从本地主机通过 sshhostname.example.com
进入远程主机,则会失败。 - 如果我
from="hostname.example.com"
从远程主体文件中删除关键字,则登录成功。 - 如果我
from="hostname.example.com"
用 替换关键字from="*.example.com"
,登录就会失败。 - 如果我将
from="hostname.example.com"
关键字替换为from="<ipv6_address>"
实际<ipv6_address>
的本地主机名 ipv6 地址,则登录成功。
是否有人真正能够实现这一点,from="FQDN"
或者这是 SSH 服务器错误?
环境:
- 本地主机:
- Ubuntu 贵族
- openssh 客户端:1:9.6p1-3ubuntu13
- 远程主机:
- Ubuntu 月球
- openssh 服务器:1:9.0p1-1ubuntu8.7