这是有关如何为SFTP会话配置ProFTPd的指南。 安全文件传输协议(SFTP)是FTP的安全版本,它通过SSH协议传输文件。 与使用默认FTP协议相比,可以重新配置ProFTPD以服务SFTP会话。 本指南假设您已经安装了ProFTPD。 如果您还没有安装它,请参考这里如何安装Proftpd,见 https://www.linuxidc.com/Linux/2018-11/155143.htm。
编辑/etc/proftpd.conf启用sFTP
nano /etc/proftpd.conf
取消注释以下行以加载mod_sftp
#LoadModule mod_sftp.c #LoadModule mod_sftp_pam.c
至
LoadModule mod_sftp.c LoadModule mod_sftp_pam.c
将以下内容添加到配置的末尾(在<global> </ global>块之外单独运行它)
<IfModule mod_sftp.c> SFTPEngine ON SFTPLog /var/log/sftp.log Port 2222 SFTPHostKey /etc/ssh/ssh_host_rsa_key SFTPLog /var/log/proftpd/sftp.log SFTPCompression delayed </IfModule>
SFTPEngine - 这将启用SFTP SFTPLog - 这将设置sftp连接的日志文件 端口 - 这将设置ProFTPd将侦听SFTP连接的端口 SFTPHostKey - 指向SSH密钥。 SFTPCompression - 设置传输期间使用的压缩方法
打开防火墙中的sFTP端口
Firewalld:
启用防火墙规则:
firewall-cmd --zone=public --add-port=2222/tcp --permanent
加载新防火墙
firewall-cmd --reload
iptables的:
启用防火墙规则:
iptables -A INPUT -p tcp -m tcp --dport 2222 -j ACCEPT
保存防火墙规则:
iptables-save > /etc/sysconfig/iptables
重启Proftpd
CentOS 7:
systemctl restart proftpd
CentOS 6:
service proftpd restart
这就是配置ProFTPd以接受ssh连接所需要做的一切。 您现在应该可以使用sFTP客户端通过端口2222进行连接。