Redhat
全新安裝時出現 VSFTPD 錯誤 530
我需要在 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 上偵聽。