VSFTPD ошибка 530 при новой установке
Мне нужно настроить FTP-сервер и SFTP-сервер на EC2, поддерживающие логин и пароль, и сертификат. Я просто использовал стоковые 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 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.
Я ожидаю, что мне будет предложено ввести пароль и посмотреть каталог пользователей! Примечание: sftp работает против порта 22 при обычной установке sshd. Есть идеи, что я делаю не так?
2 ответа
Похоже, что в Интернете много путаницы между клиентом передачи файлов SSH sftp
и FTP с SSL ftps (см. http-> https).
vsftpd не поддерживает sftp
соединения. За ftps
Для подключения вам потребуется SSL-ключ + сертификат и соответствующая конфигурация, например
rsa_cert_file=/etc/vsftpd/vsftpd.pem
ssl_enable=YES
а затем вам нужно будет использовать FTP-клиент, который поддерживает FTP lftp
)
Сервер ProFTPd имеет модуль SFTP, который может быть включен, но он не может использовать один и тот же порт с обычным FTP, поскольку это совершенно несовместимый протокол. Вам нужно будет либо запустить его на нестандартном порту, либо переместить сервер openssh на нестандартный порт, чтобы proftpd прослушивал порт 22.
Несмотря на свое название sftp
не имеет абсолютно никакого отношения к FTP. Он не говорит по тому же протоколу. Это ssh-клиент, который передает файлы через ssh-соединение, а не FTP-клиент. SFTP нельзя использовать для подключения к FTP-серверам.