有没有办法阻止所有正常的FTPstream量,只允许sftp协议在sftp?
编辑:对不起,我的坏!
为了安全的FTP我必须使用FTP协议…
如果你想用proftpd做FTPES,你基本上需要遵循4个步骤。
1)安装proftpd和openssl
apt-get install proftpd openssl
2)生成一个证书(假设你要自签名,确保将通用名称与ftp站点的dns名称相匹配,以使客户抱怨更less)
mkdir /etc/proftpd/ssl openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem
3)编辑proftpd.conf,用下面的文本replace你configuration中的mod_tls模块部分(注意TLSRequired on指令)
<IfModule mod_tls.c> TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol SSLv23 TLSOptions NoCertRequest TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem TLSVerifyClient off TLSRequired on </IfModule>
4)重新启动proftpd
/etc/init.d/proftpd restart
您不需要proftpd来执行SFTP,您可以使用ssh本地执行此操作。
如果由于某种原因,你想使用proftpd(即你想与非系统帐户更容易集成)。 您将要拒绝访问服务器的login动词,然后创build一个具有sftp引擎的特定虚拟主机,并允许login动词。
要完成你的proftpd.conf将看起来像这样。
<Limit LOGIN> DenyAll </Limit> <VirtualHost 1.2.3.4> SFTPEngine on <Limit LOGIN> AllowAll </Limit> <all your other crap...> </VirtualHost>
当你只想让proftpd允许ftps时, TLSRequired是你正在寻找的选项。
你是什么意思的SFTP? SecureFTP(AKA SSL ftp)或ftp over ssh(AKA sftp)?
对于sftp – 只需运行sshd,不要使用任何ftp守护进程。