2014-12-05 53 views
0

我使用公鑰/私鑰驗證通過ftp(vsftpd)登錄,並且密碼驗證從sshd_config關閉。現在,我想創建一個FTP帳戶,我可以通過FTP沒有私有密鑰連接,所以,只使用用戶名和密碼。我該怎麼做,如果這甚至可能?特定ftp帳戶的密碼驗證

我使用Debian 7

感謝

回答

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