全新安装的VSFTPD错误530

我需要在EC2上设置一个支持密码和证书login的FTP服务器和SFTP服务器。 我刚刚使用了股票RHEL和Amazon AMI,我也无法login。

$ sudo yum install vsftpd $ sudo adduser someuser $ sudo passwd someuser #edit /etc/ssh/sshd_config PasswordAuthentication yes #Comment out this line on /etc/pam.d/vsftpd for good measure, read about it elsewhere #auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed $ sudo systemctl start vsftpd 

我的vsftpd conf如下

 #edit /etc/vsftpd/vsftpd.conf to disable anon login anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=NO listen_ipv6=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES 

我这样做,然后尝试从另一个主机连接。 SFTP挂在下面的错误,我必须按Ctrl + C来获得SFTP退出。

 $ sftp -v -P 21 someuser@ec2host ... debug1: ssh_exchange_identification: 530 Please login with USER and PASS. 

我希望被提示input密码并查看用户目录! 注意:sftp工作对于端口22与正常的sshd安装。 任何想法我做错了什么?

互联网上的SSH文件传输客户端sftp和使用SSL ftps的FTP(参见http-> https)似乎有很多混淆。

vsftpd不支持sftp连接。 对于ftps连接,你需要一个SSL密钥+证书,以及适当的configuration,例如

 rsa_cert_file=/etc/vsftpd/vsftpd.pem ssl_enable=YES 

然后你需要使用一个支持ftps的FTP客户端(例如lftp

ProFTPd服务器有一个可以启用的SFTP模块,但由于它是一个完全不兼容的协议,所以它不能与普通的FTP共享相同的端口。 您需要在非标准端口上运行它,或者将openssh服务器移动到非标准端口以让proftpd侦听端口22。

尽pipe它的名字sftp与FTP完全没有关系。 它不会说同样的协议。 这是一个SSH客户端,通过SSH连接传输文件,而不是FTP客户端。 SFTP不能用于连接到FTP服务器。