Ubuntu

通過 SFTP 和 FTP 進行 ProFTPd 配置

  • October 11, 2021

我有一個實際使用 FTP 協議的 ProFTPd,但我也想使用 SFTP。

我找到了一個帶有<VirtualHost>塊的解決方案,但它對我不起作用。

 <IfModule mod_sftp.c>
     <VirtualHost 0.0.0.0>

       TLSEngine          off
       SFTPEngine         on
       Port               2222
       SFTPLog            /var/log/proftpd/sftp.log
       Include            /etc/proftpd/sql.conf

       SFTPHostKey        /etc/ssh/ssh_host_rsa_key
       SFTPHostKey        /etc/ssh/ssh_host_ecdsa_key

       SFTPCompression    delayed
       DefaultRoot        ~
       RequireValidShell  on

    </VirtualHost>
 </IfModule>

這是/var/log/proftpd/sftp.log的輸出

2021-10-11 11:03:32,289 mod_sftp/0.9.9[20791]: using '/etc/ssh/ssh_host_ecdsa_key' as 256-bit ECDSA hostkey
2021-10-11 11:03:32,289 mod_sftp/0.9.9[20791]: using '/etc/ssh/ssh_host_ecdsa_key' as 256-bit ECDSA hostkey
2021-10-11 11:03:32,291 mod_sftp/0.9.9[20791]: sent server version 'SSH-2.0-SFTP Server'
2021-10-11 11:03:32,291 mod_sftp/0.9.9[20791]: received client version 'SSH-2.0-PuTTYFileZilla_3.46.3'
2021-10-11 11:03:32,291 mod_sftp/0.9.9[20791]: handling connection from SSH2 client 'PuTTYFileZilla_3.46.3'
2021-10-11 11:03:32,363 mod_sftp/0.9.9[20791]:  + Session key exchange: ecdh-sha2-nistp256
2021-10-11 11:03:32,363 mod_sftp/0.9.9[20791]:  + Session server hostkey: ecdsa-sha2-nistp256
2021-10-11 11:03:32,363 mod_sftp/0.9.9[20791]:  + Session client-to-server encryption: aes256-ctr
2021-10-11 11:03:32,363 mod_sftp/0.9.9[20791]:  + Session server-to-client encryption: aes256-ctr
2021-10-11 11:03:32,363 mod_sftp/0.9.9[20791]:  + Session client-to-server MAC: hmac-sha2-256
2021-10-11 11:03:32,363 mod_sftp/0.9.9[20791]:  + Session server-to-client MAC: hmac-sha2-256
2021-10-11 11:03:32,363 mod_sftp/0.9.9[20791]:  + Session client-to-server compression: none
2021-10-11 11:03:32,363 mod_sftp/0.9.9[20791]:  + Session server-to-client compression: none
2021-10-11 11:03:32,504 mod_sftp/0.9.9[20791]: sending acceptable userauth methods: keyboard-interactive,password
2021-10-11 11:03:32,626 mod_sftp/0.9.9[20791]: expecting USER_AUTH_INFO_RESP message, received SSH_MSG_IGNORE (2)
2021-10-11 11:03:32,627 mod_sftp_pam/0.3[20791]: PAM authentication error (7) for user 'sql_user': Authentication failure
2021-10-11 11:03:32,627 mod_sftp/0.9.9[20791]: sending userauth failure; remaining userauth methods: keyboard-interactive,password
2021-10-11 11:03:32,628 mod_sftp/0.9.9[20791]: unhandled SSH_MSG_USER_AUTH_INFO_RESP (61) message, disconnecting
2021-10-11 11:03:32,628 mod_sftp/0.9.9[20791]: disconnecting (Unsupported protocol sequence)

正確的。讓您的 FTP 守護程序在 FTP/21 和 SFTP/2222 上工作的解決方案是在 <IfModule mod_sftp.c> 中包含 <VirtualHost 0.0.0.0> 部分。

我在 /etc/proftpd/proftpd.conf 中共享我的配置文件的這一部分,它工作正常。

&lt;VirtualHost 0.0.0.0&gt;
 
   SFTPEngine on
   Port 2222
   SFTPAuthMethods password
   RequireValidShell      off
   SFTPLog /var/log/proftpd/sftp.log
   Include /etc/proftpd/sql.conf

   SFTPHostKey /etc/ssh/ssh_host_rsa_key
   SFTPHostKey /etc/ssh/ssh_host_dsa_key
   
   SFTPCompression delayed
   DefaultRoot
&lt;/VirtualHost&gt;

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