这是有关如何为SFTP会话配置ProFTPd的指南。 安全文件传输协议(SFTP)是FTP的安全版本,它通过SSH协议传输文件。 与使用默认FTP协议相比,可以重新配置ProFTPD以服务SFTP会话。 本指南假设您已经安装了ProFTPD。 如果您还没有安装它,请参考这里如何安装Proftpd,见 http://www.info110.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进行连接。