编辑:
好吧,我实际上错过了 Syslog 中的日志,我希望它会出现在 auth.log 或 vsftpd.log 中,但 Syslog 中出现一条关键消息: Failed Look up IP address for RADIUS server [2001 (errcode=9)
无论我以什么格式在 pam_radius_auth.conf 中输入 IPv6 地址(尝试使用 [] 括号、不使用它们以及在 /etc/hosts 中使用别名),它都不会接受它。好像pam模块不兼容IPv6? :(
我有两台服务器,一台运行 vsFTPd,另一台运行 Freeradius。它们都是 IPv6 only。
我正在尝试使用 vsFTPd 和 pam_radius_auth 模块通过我的 Radius 服务器进行身份验证,但由于某种原因我无法使其工作。 Freeradius 服务器应该正确配置,我可以通过终端进行身份验证,如下所示:
radtest -6 user pass 2001:xxxx:xxxx:xxxx:xxxx::129 0 radiussecret
我的其他网络服务器也可以通过我的 Radius 服务器进行身份验证。
由于某种原因,似乎liek vsFTPd没有使用正确的pam模块,我没有任何调试消息表明他试图连接到我的radius服务器,或者如果我将其从/etc/pam_radius_auth.conf中完全删除,那么它找不到要连接的服务器。
这是我的配置:
/etc/vsftpd.conf
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
pam_service_name=ftp
/etc/pam.d/vsftpd
auth sufficient pam_radius_auth.so
account sufficient pam_radius_auth.so
/etc/pam_radius_auth.conf
radiusserver radiussecret 10
在 /etc/hosts 中,我将 radiusserver 映射到其 IP 地址:
2001:xxxx:xxxx:xxxx::129 radiusserver.auth radiusserver
现在,当我在 FTP 服务器上尝试使用凭据 user:pass 连接时,出现以下错误:
ftp localhost
Connected to localhost.
220 (vsFTPd 3.0.2)
Name (localhost:student): user
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
在 /var/log/auth.log 中:
ubuntu vsftpd: pam_unix(ftp:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=user rhost=::1 user=user
和 /var/log/vsftpd.log
CONNECT: Client "::1"
[user] FAIL LOGIN: Client "::1"
到底是怎么回事?为什么 vsFTPd 甚至不尝试连接到我的 Radius 服务器? :( 谢谢
答案1
在/etc/vsftpd.conf
你有:
pam_service_name=ftp
我认为这告诉 PAM 在 中查找此服务的配置/etc/pam.d/ftp
,而不是/etc/pam.d/vsftpd
.
如果/etc/pam.d/ftp
不存在,/etc/pam.d/other
将被使用。