Я пытаюсь настроить vstpd на использование FTPS. Я в основном следил эти инструкции.
Я настроил все и создал самозаверяющий сертификат, который полностью соответствует моим потребностям, этот ftp не должен быть общедоступным.
Но когда я пытаюсь подключиться к ftp-серверу с помощью filezilla, filezilla зависает в строке «Проверка сертификата» вместо того, чтобы спрашивать меня, доверяю ли я ему.
Используя другой FTP-клиент (bareFTP), я получил эту ошибку:
Server certificate error:
RemoteCertificateNameMismatch,
RemoteCertificateChainErrors
Try disabling Server Certificate Validation
Если я отключил проверку, как было предложено, она работает, поэтому проблема не в файле конфигурации vsftpd, а скорее в моем самозаверяющем сертификате.
Кто-нибудь может сказать мне, что может быть не так? Я использовал эту команду для его создания:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
В поле «Общее имя (например, ВАШЕ имя)» я попытался ввести IP-адрес сервера и название моей компании.
Ваша проблема в основном заключается в том, что ваш сервер не предоставляет сертификат, цепочка которого достигает одного из сертификатов доверенного хранилища (что нормально, поскольку он самозаверяющий). Вы можете легко решить эту проблему, добавив сертификат, используемый сервером, в локальное хранилище доверенных сертификатов. Кроме того, CN должен соответствовать имени хоста, к которому вы подключаетесь.
Обратите внимание: если вам нужно иметь несколько сертификатов, было бы неплохо создать собственный ЦС, чтобы вам не приходилось вручную добавлять каждый последующий сертификат в локальное хранилище доверенных сертификатов.