Ssh
sshd_config AllowUsers 和 IPv6
有兩台伺服器通過 ssh 和 crontab 進行通信,一個“主”和一個“從”。只有 master 可以在 slave 上連接(執行命令)。
身份驗證是自動完成的 (IPv4),這要歸功於
- 主人
~/.ssh/id_rsa.pub
添加到奴隸~/.ssh/authorized_keys
- 奴隸
sshd_config
有AllowUsers me@1.2.3.4
在添加 IPv6 之前它工作正常
- 主從都啟用了 IPv6
- 兩台伺服器都為這兩種協議設置了 DNS 反向設置
- sshd_config 更改為
AllowUsers me@myhost.tld
並希望
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]
不行[]
)
查看 UseDNS 指令。
" UseDNS 指定 sshd(8) 是否應該查找遠端主機名,並檢查遠端 IP 地址的解析主機名是否映射回相同的 IP 地址。
如果此選項設置為 no(預設值),則在 ~/.ssh/authorized_keys from 和 sshd_config Match Host 指令中只能使用地址而不是主機名。”
作為旁注,您始終可以將客戶端配置為強制 IPv4 連接到 ssh_config 中的特定主機。我主要使用 AllowUsers 來匹配使用者名,如果你想匹配主機名和 IP,你可能想看看使用 TCP 包裝器。