有两台服务器通过 ssh 和 crontab 进行通信,一台是“主服务器”,另一台是“从服务器”。只有主服务器可以连接(执行命令)从服务器。
验证曾是自动完成(IPv4)得益于
- 主人
~/.ssh/id_rsa.pub
添加到奴隶~/.ssh/authorized_keys
- 奴隶
sshd_config
拥有AllowUsers [email protected]
在添加 IPv6 之前,它运行良好
- 主服务器和从服务器均启用了 IPv6
- 两台服务器都针对两种协议设置了 DNS 反向设置
- sshd_config 更改为
AllowUsers [email protected]
并希望sshd
从属设备对传入的 IPv6 IP 进行反向查找(以获取myhost.tld
),但auth.log
显示
User me from 2103:cc11::...:fe93:4a10 not allowed because not listed in AllowUsers
我有两个问题
- 是否
sshd
执行 IPv6 反向查找以查明主机是否匹配?(如果是,则存在另一个问题) 添加硬编码的 IPv6 地址的正确方法是什么。(编辑无需AllowUsers
?似乎me@[2103:cc11::...:fe93:4a10]
行不通[]
)
答案1
看一下 UseDNS 指令。
“使用DNS 指定 sshd(8) 是否应该查找远程主机名,并检查远程 IP 地址的解析主机名是否映射回相同的 IP 地址。
如果将此选项设置为 no(默认值),则在 ~/.ssh/authorized_keys 和 sshd_config Match Host 指令中只能使用地址而不能使用主机名。”
附注:您始终可以在 ssh_config 中配置客户端以强制使用 IPv4 连接到特定主机。我主要使用 AllowUsers 来匹配用户名,如果您想匹配主机名和 IP,您可能需要考虑使用 TCP 包装器。