При настройке vsftpd у нас возникают проблемы с тем, что он не обеспечивает надежное соединение с базовым контейнером сертификата pem, используя только наш закрытый ключ и сертификат.
Мы создали наш pem-файл с помощью следующих команд.
кошка somecert.com.crt >> somepem.pem
кошка somecertkey.com.key >> somepem.pem
/etc/vsftpd/vsftpd.conf
ssl_enable = ДА
ssl_tlsv1 = ДА
rsa_cert_file = / и т.д. / httpd / ssl / somepem.pem
При подключении с использованием lftp в режиме отладки я увидел, что мы даем сертификат без достаточной информации, чтобы установить полную цепочку полномочий. Чтобы ему доверяли.
lftp -d -u пользователь: передать myserver.com
....
ОШИБКА: проверка сертификата: не доверено
**** Проверка сертификата: не доверяет
---- Закрытие контрольной розетки
Мне нужно получить полную цепочку полномочий и добавить ее в контейнер сертификата pem Благодаря stackExchange Есть несколько хороших решений этой проблемы.
эхо-соединение | openssl s_client -connect myserver.com:443 2> & 1 | sed -ne '/ -НАЧАТЬ СЕРТИФИКАТ - /, / - КОНЕЦ СЕРТИФИКАТА- / p'> cert.pem
Теперь мы можем обновить созданный сертификат, чтобы включить в него всю цепочку полномочий.
Нам нужно обновить конфиг vsftpd
vim /etc/vsftpd/vsftpd.conf
ssl_enable = ДА
ssl_tlsv1 = ДА
rsa_private_key_file = / и т.д. / httpd / ssl / somepem.pem
rsa_cert_file = / и т.д. / vsftpd / ssl / cert.pem
Тест с использованием lftp
lftp -d -u пользователь: передать myserver.com
Сертификат: C = США, ST = Аризона, L = Скоттсдейл, O = Starfield Technologies \, Inc., OU =http://certificates.starfieldtech.com/repository,CN=Starfield Безопасная сертификация> Центр, серийный номер = 10688435
Выдан: C = США, O = Starfield Technologies \, Inc., OU = Центр сертификации Starfield Class 2
Проверка: C = США, O = Starfield Technologies \, Inc., OU = Центр сертификации Starfield Class 2
Доверенный
Сертификат: C = США, O = Starfield Technologies \, Inc., OU = Центр сертификации Starfield Class 2
Выдан: C = США, O = Starfield Technologies \, Inc., OU = Центр сертификации Starfield Class 2
Доверенный
Важно правильно упаковать pem-файл в правильном порядке.
как-сделать-я-сделать-мой-собственный-связка-файл-из-crt-файлов
Создание .pem со всей цепочкой доверия сертификатов SSL
Войдите в консоль управления DigiCert и загрузите промежуточные (DigiCertCA.crt), корневой (TrustedRoot.crt) и первичный сертификаты (your_domain_name.crt). Откройте текстовый редактор (например, Wordpad) и вставьте все тело каждого сертификата в один текстовый файл в следующем порядке:
Не забудьте включить начальный и конечный теги в каждый сертификат. Результат должен выглядеть> так:
----- НАЧАТЬ СЕРТИФИКАТ -----
(Ваш основной сертификат SSL: your_domain_name.crt)
----- КОНЕЦ СЕРТИФИКАТА -----
----- НАЧАТЬ СЕРТИФИКАТ -----
(Ваш промежуточный сертификат: DigiCertCA.crt)
----- КОНЕЦ СЕРТИФИКАТА -----
----- НАЧАТЬ СЕРТИФИКАТ -----
(Ваш корневой сертификат: TrustedRoot.crt)
----- КОНЕЦ СЕРТИФИКАТА -----
Сохраните объединенный файл как your_domain_name.pem. Теперь файл .pem готов к использованию.
Вы всегда можете настроить свой ftp-клиент так, чтобы он игнорировал сертификаты. Это небезопасно, и этого следует избегать. Делайте это на свой страх и риск. http://anils-tips.blogspot.com/2011/05/lftp-fatal-error-certificate.html
lftp user@test.ftp.com: / каталог
Пароль:
cd: Неустранимая ошибка: Проверка сертификата: Не доверено
Чтобы полностью отключить проверку сертификата в lftp.
This is not a good idea if you are concerned about security
кошка ~ / .lftp / rc
установить ssl: verify-certificate no
или
Если вы просто хотите сделать это для одного конкретного хоста, вы можете.
lftp -e "установить ssl: verify-certificate no" user@test.ftp.com: / directory