
我已經在本機上安裝並配置了一個 Radius 伺服器 - 它將身份驗證委託給遠端 LDAP 伺服器。
最初情況看起來不錯:我可以透過控制台進行測試:
# export user=skemp
# export pass=xxx
# radtest $user $pass localhost 1812 $secret
Sending Access-Request of id 185 to 127.0.0.1 port 1812
User-Name = "skemp"
User-Password = "xxx"
NAS-IP-Address = 192.168.1.168
NAS-Port = 1812
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=185,
同樣,我可以使用登入工具來做同樣的事情:
bash-4.0# /usr/libexec/auth/login_radius -d -s login $user radius
Password: $pass
authorize
然而,透過 SSH 的遠端登入失敗,由 root 啟動的「登入」呼叫也失敗。查看 /var/log/radiusd.log 我沒有看到成功/失敗的實際日誌,而在使用以前的工具時我確實看到了這一點。
相反,sshd 只是記錄:
sshd[23938]: Failed publickey for skemp from 192.168.1.9
sshd[23938]: Failed keyboard-interactive for skemp from 192.168.1.9 port 36259 ssh2
sshd[23938]: Failed password for skemp from 192.168.1.9 port 36259 ssh2
在 /etc/login.conf 我有這個:
# Default allowed authentication styles
auth-defaults:auth=radius:
...
radius:\
:auth=radius:\
:radius-server=localhost:\
:radius-port=1812:\
:radius-timeout=1:\
:radius-retries=5:
答案1
我在配置 OpenBSD 以將身份驗證委託給 ldap 伺服器時遇到了類似的問題。我可以讓它工作的唯一方法是將用戶添加到本地資料庫,例如
useradd -s /bin/ksh -L ldap 新用戶
在你的情況下,它會是這樣的
useradd -s /bin/ksh -L 半徑 new_user2
但是,由於您必須為每台使用 ldap 進行身份驗證的電腦手動建立使用者項目,因此這會削弱對集中式 ldap 身份驗證伺服器的需求。我也沒有想法了。