带有 Freeradius 身份验证的 vsFTPd

带有 Freeradius 身份验证的 vsFTPd

编辑:

好吧,我实际上错过了 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将被使用。

相关内容