Использование Ubuntu 18.04 LTS и ProFTPD 1.3.5e.
У меня ProFTPD обслуживает FTP на портах 20, 21 и работает нормально.
Когда я добавляю в / etc / proftpd / conf .d / sftp.conf, FTP перестает работать. Когда я удаляю sftp.conf и перезапускаю proftpd, FTP снова начинает работать. Я пришел к выводу, что с этим файлом conf что-то не так.
Кроме того, я хочу, чтобы sftp принимал только логин и пароль для аутентификации. Как я могу это сделать? Я посмотрел на директиву SFTPAuthMethods и похоже, что если я ее опущу, то она разрешит все методы аутентификации, и это нормально для меня.
Вот файл sftp.conf:
<IfModule mod_sftp.c>
SFTPEngine on
Port 2222
SFTPLog /var/log/proftpd/sftp.log
# Configure both the RSA and DSA host keys, using the same host key
# files that OpenSSH uses.
SFTPHostKey /etc/ssh/ssh_host_rsa_key
SFTPHostKey /etc/ssh/ssh_host_dsa_key
SFTPAuthorizedUserKeys file:/etc/proftpd/authorized_keys/%u
# Enable compression
SFTPCompression delayed
</IfModule>
Что я должен изменить, чтобы запустить SFTP на порте 2222 и продолжить работу FTP на портах 20 и 21?
Заранее спасибо!
Обновление:
Основываясь на превосходной обратной связи, которую я получил в заметках, вместо того, чтобы использовать файл sftp.conf, который я описал выше, я добавил оболочку и некоторые другие параметры конфигурации и поместил эту конфигурацию в файл proftpd.conf. Он выглядит следующим образом:
<snip>
<IfModule mod_sftp.c>
<VirtualHost 0.0.0.0>
# The SFTP configuration
SFTPEngine on
Port 2222
SFTPLog /var/log/proftpd/sftp.log
Include /etc/proftpd/sql.conf
SFTPAuthMethods password keyboard-interactive hostbased publickey
# Configure both the RSA and DSA host keys, using the same host key
# files that OpenSSH uses.
SFTPHostKey /etc/ssh/ssh_host_rsa_key
SFTPHostKey /etc/ssh/ssh_host_dsa_key
SFTPAuthorizedUserKeys file:/etc/proftpd/authorized_keys/%u
# Enable compression
SFTPCompression delayed
</VirtualHost>
</IfModule>
Итак, теперь сервер отвечает на FTP-порты нормально и на порт 2222. Когда я пытаюсь подключиться к порту 2222 с помощью WinSCP, он не проходит аутентификацию. Вот фрагмент файла sftp.log, который генерируется каждый раз, когда я пытаюсь подключиться.
2020-04-21 21:03:50,340 mod_sftp/0.9.9[13017]: sent server version 'SSH-2.0-mod_sftp/0.9.9'
2020-04-21 21:03:50,355 mod_sftp/0.9.9[13017]: received client version 'SSH-2.0-WinSCP_release_5.17.3'
2020-04-21 21:03:50,355 mod_sftp/0.9.9[13017]: handling connection from SSH2 client 'WinSCP_release_5.17.3'
2020-04-21 21:03:51,284 mod_sftp/0.9.9[13017]: + Session key exchange: ecdh-sha2-nistp256
2020-04-21 21:03:51,284 mod_sftp/0.9.9[13017]: + Session server hostkey: ssh-rsa
2020-04-21 21:03:51,284 mod_sftp/0.9.9[13017]: + Session client-to-server encryption: aes256-ctr
2020-04-21 21:03:51,284 mod_sftp/0.9.9[13017]: + Session server-to-client encryption: aes256-ctr
2020-04-21 21:03:51,284 mod_sftp/0.9.9[13017]: + Session client-to-server MAC: hmac-sha2-256
2020-04-21 21:03:51,284 mod_sftp/0.9.9[13017]: + Session server-to-client MAC: hmac-sha2-256
2020-04-21 21:03:51,285 mod_sftp/0.9.9[13017]: + Session client-to-server compression: none
2020-04-21 21:03:51,285 mod_sftp/0.9.9[13017]: + Session server-to-client compression: none
2020-04-21 21:03:51,957 mod_sftp/0.9.9[13017]: sending acceptable userauth methods: password,keyboard-interactive,hostbased,publickey
2020-04-21 21:03:52,302 mod_sftp/0.9.9[13017]: expecting USER_AUTH_INFO_RESP message, received SSH_MSG_IGNORE (2)
2020-04-21 21:03:52,322 mod_sftp_pam/0.3[13017]: PAM authentication error (7) for user 'test': Authentication failure
Для FTP я успешно аутентифицируюсь из базы данных MySQL. Но в последней строке файла sftp.log говорится, что аутентификация PAM не удалась для моей попытки SFTP. Я просто пытаюсь пройти аутентификацию в WinSCP-клиенте с помощью логина и пароля, которые приходят с MySQL. Включает ли это аутентификацию PAM?
Я думаю, что я уже близко!
Заранее спасибо!