Ftp

vsftpd 將不接受使用 MD5 加密的密碼

  • February 12, 2016

我正在使用 vsftpd 設置伺服器,讓虛擬使用者訪問他們的空間。現在它可以正常工作了,但只能使用 CRYPT 密碼。所以

sudo htpasswd -c /etc/vsftpd/ftpd.passwd phpmyadmin

不允許我登錄,但是

sudo htpasswd -c -d /etc/vsftpd/ftpd.passwd phpmyadmin

將要。

/etc/vsftpd.conf

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
nopriv_user=vsftpd
virtual_use_local_privs=YES
guest_enable=YES
user_sub_token=$USER
local_root=/var/www/vhosts/$USER.universe.local
chroot_local_user=YES
hide_ids=YES
guest_username=vsftpd

/etc/pam.d/vsftpd

auth required pam_pwdfile.so pwdfile /etc/vsftpd/ftpd.passwd crypt=2
account required pam_permit.so crypt=2

我從原始碼和 PHP 安裝了 apache2.4.3。

我嘗試過的事情:

  • Google很多
  • 設置 crypt=2
  • 問朋友們
  • 使用 SHA(也不起作用)
  • 更新 htpasswd 和 vsftpd

我已經為此苦苦掙扎了一個星期,希望你們能進一步幫助我

htpasswd生成 Apache 格式的 MD5 雜湊,您可以通過查看它們以 開頭來驗證$apr1$,但 PAM 僅支持您的平台實現實現的格式crypt(3)。對於 Glibc,等效(基於 MD5)將是$1$. 您只需要使用不同的工俱生成密碼。這是一個例子:

sh$ openssl passwd -1
Password: 
Verifying - Password: 
$1$vhzHvIYn$2Ro.R0WdLnxrWjHcs5RbA/

您可以將此雜湊ftpd.passwd以格式複製到您的文件中username:hash,它應該可以工作。

引用自:https://serverfault.com/questions/450214