Ssh

sshd_config AllowUsers 和 IPv6

  • December 17, 2017

有兩台伺服器通過 ssh 和 crontab 進行通信,一個“主”和一個“從”。只有 master 可以在 slave 上連接(執行命令)。

身份驗證自動完成的 (IPv4),這要歸功於

  • 主人~/.ssh/id_rsa.pub添加到奴隸~/.ssh/authorized_keys
  • 奴隸sshd_configAllowUsers 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

我有兩個問題

  1. 是否sshd執行 IPv6 反向查找以確定主機是否匹配?(如果是,還有另一個問題)
  2. 添加硬編碼的 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 包裝器。

請參閱:https ://www.akadia.com/services/ssh_tcp_wrapper.html

引用自:https://serverfault.com/questions/888454