Как я настраиваю vsftpd для использования пакета сертификата SSL GoDaddy?

У меня есть экземпляр AWS EC2 Ubuntu 16.04.3, работающий vsftpd 3.0.3. Плоскость FTP работает просто великолепно, но я должен включить TLS так мои клиенты, может использовать sftp для загрузки файлов.

Я исследовал это в течение многих часов, но все, я нахожу шоу, как настроить самосгенерированный сертификат. Я хочу использовать свой подстановочный сертификат SSL, который был куплен у GoDaddy. (тот же я использую на своей Эластичной Подсистеме балансировки нагрузки AWS).

У меня есть .key файл и два .crt файла, которые я загрузил с GoDaddy. Я не могу выяснить, как поместить те три файла в формат, который может понять vsftpd. Я не получаю ошибок от vsftpd, но когда я соединяю использование FileZilla, я получаю этот ответ:

Status: Connecting to <my ftp subdomain>.<my domain>.com...
Status: Skipping non-existing key file "C:\Users\<some local file1>.ppk"
Status: Skipping non-existing key file "C:\Users\<some local file2>.ppk"
Status: Skipping non-existing key file "C:\Users\<dome local file3>.ppk"
Response:   fzSftp started, protocol_version=8
Command:    open "<username>@<my ftp subdomain>.<my domain>.com" 22
Error:  Disconnected: No supported authentication methods available (server sent: publickey)
Error:  Could not connect to server

Я уже подтвердил, что порт 22 открыт в брандмауэре.

BTW, моя конечная цель - чтобы клиенты соединились, не получая вида, "делают Вы доверяете этому сертификату" сообщение во время их первого соединения. Скажите мне, если я на ложном пути.

0
задан 15 October 2018 в 11:17

2 ответа

Для порта 22, Вы обычно используете SFTP и не FTPS. Различие является использованием FTPS пара "открытый/закрытый ключ" SSL для обеспечения транзакций FTP и все еще требует, чтобы Вы прошли проверку подлинности через имя пользователя и пароль. С SFTP Вы используете общедоступную/частную пару ключей, которую Вы генерируете сами, и связывается с определенным пользователем для использования для аутентификации. Открытый ключ хранится в vsftp сервере для пользователя, в то время как клиент, от которого Вы соединяетесь, дарит серверу закрытый ключ. Я думаю, что Ваша проблема - то, что эти два путаются, поскольку журналы ошибок ищут ppk файлы для представления серверу для аутентификации пользователя.

Для разъяснения для Вас порт 22 уже открыт через экземпляр EC2, таким образом, Вы на самом деле не нуждаетесь в vsftp, но вместо этого просто используете закрытый ключ, обеспеченный AWS, когда Вы создали экземпляр, и необходимо быть хорошими. Вы не хотите использовать vsftp для использования порта 22 как затем, у Вас не будет пути к ssh в Ваш экземпляр, не изменяя порт SSH, работает. сервер OpenSSH, который это там по умолчанию уже, дает Вам sftp функциональность. Если Вы конкретно захотите использовать FTPS затем, то необходимо будет соединиться с портом, который Вы определили в своей vsftp конфигурации, и откройте любые необходимые порты брандмауэра в группе безопасности использование экземпляра EC2.

0
ответ дан 27 October 2019 в 08:01

Хорошо, это требовало времени, но я наконец получил все соединенные части, и это работает теперь!

  1. У меня были к concat свой сертификат, ключ и промежуточные сертификаты в единственный .pem файл, как описано здесь: http://www.terminalinflection.com/solaris/vsftpd-configuration/
  2. Затем я должен был установить sftp подсистему sshd, как описано в этой статье EXCELLENT: https://www.thegeekstuff.com/2012/03/chroot-sftp-setup/
  3. Добавьте следующее к моему vsftpd.conf файлу:

    force_local_logins_ssl=NO
    force_local_data_ssl=NO
    

Теперь я могу использовать простого ftp для своих старых пользователей при требовании sftp для моих новых пользователей.

0
ответ дан 27 October 2019 в 08:01

Другие вопросы по тегам:

Похожие вопросы: