只有在debian上与proftpd的FTP

有没有办法阻止所有正常的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守护进程。