Вопрос: Сохранить сертификат для использования с lftp


Как сохранить сертификат для использования с lftp?

Соответствующий сертификат не принимается lftp при загрузке с сервера. Я пытался

openssl s_client -connect {HOSTNAME}:21 -showcerts

из Как сохранить сертификат SSL удаленного сервера локально в виде файла но это возвращает

CONNECTED (00000003)   3074045628: ошибка: 140770FC: SSL-процедуры: SSL23_GET_SERVER_HELLO: неизвестный протокол: s23_clnt.c: 766:

нет доступных сертификатов   


4
2017-10-26 06:57


Источник




Ответы:


Я думаю, проблема в том, что FTP-сервер использует простой FTP, но поддерживает явный SSL / TLS. Поэтому, чтобы следовать протоколу, клиент должен подключиться к FTP-серверу и вызвать шифрование с помощью команды AUTH. (Команда AUTH отправляется простым текстом)

Поэтому, чтобы ответить на ваш вопрос, я не думаю, что можно показать сертификат. Если вы не можете каким-либо образом отправить команду AUTH на FTP-сервер.

Изменить: для отображения сертификатов выполните следующие действия:

openssl s_client -connect x.x.x.x: 21 -starttls ftp


7
2018-05-28 18:28





Вы уверены, что эта конечная точка правильно защищена с помощью SSL? Из сообщения об ошибке вы показываете, что похоже, что сервер не предоставляет ssl? Кроме того, порт 21 в основном используется для файлов без FTP или SFTP.

Это то, что я получаю, когда я запускаю команду против простого FTP-сервера

openssl s_client -connect xxx.yyy.zzz.www:21 -showcerts
CONNECTED(00000003)
140165093090976:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:749:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 225 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE

Ошибка lftp может быть вызвана неправильной конфигурацией lftp, где требуется ssl. Вы можете попробовать следующее:

set ftp:ssl-force false

В любом случае вы также можете попробовать подключиться, используя

set ssl:verify-certificate no

Хотя это приемлемо только для тестирования и с тестовыми учетными записями (чтобы не утечка учетных данных)


2
2017-12-18 10:00





Похоже, что lftp неправильно настроен на многих системах, что не позволяет проверить сертификаты сервера. Возможно, это основная причина для вашей проблемы.

В Интернете полно предложений по устранению этого, вообще отключив проверку сертификата или шифрование. Это небезопасный так как позволяет атакам «человек-в-середине» пройти незамеченным.

Лучшее решение - правильно настроить проверку сертификата, что, к счастью, легко. Для этого добавьте следующую строку: /etc/lftp.conf (или, альтернативно, ~/.lftp/rc):

set ssl:ca-file "/etc/ssl/certs/ca-certificates.crt"

ca-certificates.crt это файл, содержащий все сертификаты CA системы. Место, указанное выше, относится к Ubuntu и может варьироваться в разных системах. Чтобы создать или обновить файл, выполните update-ca-certificates:

sudo update-ca-certificates

Если ваша система не имеет этой команды, вы можете создать ее вручную следующим образом:

cat /etc/ssl/certs/*.pem | sudo tee /etc/ssl/certs/ca-certificates.crt > /dev/null

1
2018-05-21 10:19