通过 SSH 登录 OpenBSD 似乎忽略了我配置的 radius 服务器

通过 SSH 登录 OpenBSD 似乎忽略了我配置的 radius 服务器

我已经在本地主机上安装并配置了 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 radius new_user2

但是,由于您必须为每台使用 ldap 进行身份验证的机器手动创建用户条目,因此这会削弱对集中式 ldap 身份验证服务器的需求。我也没有主意了。

相关内容