Redhat

全新安裝時出現 VSFTPD 錯誤 530

  • December 15, 2016

我需要在 EC2 上設置支持密碼和證書登錄的 FTP 伺服器和 SFTP 伺服器。我剛剛使用了庫存的 RHEL 和 Amazon AMI,但我都無法登錄。

$ 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 配置如下

#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.

我希望系統提示輸入密碼並查看使用者目錄!注意: sftp 通過正常 sshd 安裝對埠 22 起作用。知道我做錯了什麼嗎?

sftp網際網路上的 SSH 文件傳輸客戶端和帶有 SSL ftps 的 FTP(參見 http->https)之間似乎存在很多混淆。

vsftpd 不支持sftp連接。對於ftps連接,您需要 SSL 密鑰+證書,以及適當的配置,例如

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

然後您需要使用支持 ftps 的 FTP 客戶端(例如lftp

ProFTPd 伺服器有一個可以啟用的 SFTP 模組,但它不能與正常 FTP 共享同一個埠,因為它是一個完全不兼容的協議。您需要在非標準埠上執行它,或者將 openssh 伺服器移動到非標準埠以讓 proftpd 在埠 22 上偵聽。

引用自:https://serverfault.com/questions/820940