特定ftp帐户的密码验证

时间:2014-12-05 08:04:16

标签: linux ssh ftp

我使用公钥/私钥验证通过ftp(vsftpd)登录,密码验证从sshd_config关闭。现在,我想创建一个ftp帐户,我可以通过ftp连接而无需私钥,所以,只需使用用户名和密码。如果可能的话,我怎么能这样做?

我使用debian 7。

由于

1 个答案:

答案 0 :(得分:0)

我不认为您可以为不同的系统用户使用不同的身份验证方法,因为他们的登录是由SSH处理的。可能有可能使用PAM,但很容易出错并引入安全漏洞。

一个简单的解决方案是在vsftpd中设置独立定义的虚拟用户(有很多指南)。缺点是那些用户无法通过SFTP连接,因为没有相关的SSH帐户,因此他们需要连接到不同的端口(例如21)。您还需要单独管理这些帐户和密码。

如果您选择这样,您还需要安装libpam-pwdfile,这是一个PAM身份验证模块,用于从htpasswd样式的文件中读取密码。
然后将/etc/pam.d/vsftpd的内容替换为:

auth        required    pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth        required    pam_pwdfile.so pwdfile=/etc/vsftpd/passwd
account     required    pam_permit.so
session     required    pam_permit.so
password    required    pam_deny.so