LFTP: общее имя сертификата не соответствует запрошенному имени хоста

Использование lftp для загрузки файлов на удаленный сервер с двух компьютеров в моей сети. Используя тот же самый код, он отлично работает с одним и не работает с другим. Стенограммы проблемного и успешного сеанса показаны ниже. Я получаю следующее сообщение об ошибке:

Проверка сертификата: общее имя сертификата не совпадает. запрошенное имя хоста

Погуглите эту ошибку, чтобы найти решение, которое, кажется, работает для большинства людей (используя: установить ssl: verify-certificate no ). Но, как вы можете видеть в стенограммах ниже, это не работает для «проблемного компьютера».

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

Проблемный компьютер

Стандартная система Debian jessie 8.7: 3.16.0-4-amd64 # 1 SMP Debian 3.16.39-1 (2016-12-30) x86_64 GNU / Linux

lftp используемая версия:

$ apt show lftp
Package: lftp
Version: 4.6.0-1+deb8u1
:
:

Сбой сеанса (имя хоста заменено на «example»):

$ lftp
lftp :~> debug
lftp :~> set
set dns:order "inet6 inet"
set file:charset UTF-8
set ftp:timezone ""
set net:max-retries 2
set net:timeout 30
set ssl:verify-certificate no
set xfer:log yes
set xfer:log-file /tmp/lftp.log
set xfer:max-log-size 1048576
set xfer:max-redirections 10
set xfer:verify-command /usr/share/lftp/verify-file
lftp :~> open example.nl
---- using user `ftp2@example.nl' and password from ~/.netrc
---- Resolving host address...
---- 2 addresses found: (▮▮▮▮▮▮▮▮, ▮▮▮▮▮▮▮▮)
lftp ftp2@example.nl@example.nl:~> dir
---- Connecting to example.nl (▮▮▮▮▮▮▮▮) port 21
**** connect(control_sock): Network is unreachable
---- Closing control socket
---- Connecting to example.nl (▮▮▮▮▮▮▮▮) port 21
<--- 220 ProFTPD 1.3.5b Server ready.
---> FEAT
<--- 211-Features:
<---  CCC
<---  PBSZ
<---  AUTH TLS
<---  MFF modify;UNIX.group;UNIX.mode;
<---  REST STREAM
<---  MLST modify*;perm*;size*;type*;unique*;UNIX.group*;UNIX.mode*;UNIX.owner*;
<---  LANG en-US.UTF-8*
<---  UTF8
<---  EPRT
<---  EPSV
<---  MDTM
<---  SSCN
<---  TVFS
<---  MFMT
<---  SIZE
<---  PROT
<--- 211 End
---> AUTH TLS
<--- 234 AUTH TLS successful
---> LANG
Certificate: OU=Domain Control Validated,OU=PositiveSSL Wildcard,CN=*.zxcs.nl
 Issued by: C=GB,ST=Greater Manchester,L=Salford,O=COMODO CA Limited,CN=COMODO RSA Domain Validation Secure Server CA
WARNING: Certificate verification: Not trusted
WARNING: Certificate verification: certificate common name doesn't match requested host name ‘example.nl’
<--- 200 Using default language en_US.UTF-8
---> OPTS UTF8 ON
<--- 200 UTF8 set to on
---> OPTS MLST modify;perm;size;type;UNIX.group;UNIX.mode;UNIX.owner;
<--- 200 OPTS MLST modify;perm;size;type;UNIX.group;UNIX.mode;UNIX.owner;
---> USER ftp2@example.nl
<--- 331 Password required for ftp2@example.nl
---> PASS XXXX
<--- 230 User ftp2@example.nl logged in
---> PWD
<--- 257 "/" is the current directory
---> PBSZ 0
<--- 200 PBSZ 0 successful
---> PROT P
<--- 200 Protection set to Private
---> PASV
<--- 227 Entering Passive Mode (▮▮▮▮▮▮▮▮).
---- Connecting data socket to (▮▮▮▮▮▮▮▮) port 35302
---- Data connection established
---> LIST
<--- 150 Opening ASCII mode data connection for file list
Certificate: OU=Domain Control Validated,OU=PositiveSSL Wildcard,CN=*.zxcs.nl
 Issued by: C=GB,ST=Greater Manchester,L=Salford,O=COMODO CA Limited,CN=COMODO RSA Domain Validation Secure Server CA
WARNING: Certificate verification: Not trusted
WARNING: Certificate verification: certificate common name doesn't match requested host name ‘ example.nl’
<--- 425 Unable to build data connection: Operation not permitted
---- Closing data socket
<--- 450 LIST: Operation not permitted
**** extra server response
ls: Fatal error: max-retries exceeded
lftp ftp2@example.nl@example.nl:/>

Другой компьютер

Raspbian на базе Debian jessie 8.0: 4.4.38+ # 938 Чт 15 декабря 15: 17:54 GMT 2016 armv6l GNU / Linux На этом компьютере у меня точно такая же версия lftp :

$ apt show lftp
Package: lftp
Version: 4.6.0-1+deb8u1
:
:

Но теперь сеанс lftp не вызывает проблем:

$ lftp
lftp :~> debug
lftp :~> set
set dns:order "inet6 inet"
set file:charset UTF-8
set ftp:timezone ""
set net:max-retries 2
set net:timeout 30
set ssl:verify-certificate no
set xfer:log yes
set xfer:log-file /tmp/lftp.log
set xfer:max-log-size 1048576
set xfer:max-redirections 10
set xfer:verify-command /usr/share/lftp/verify-file
lftp :~> open example.nl
---- using user `ftp2@example.nl' and password from ~/.netrc
---- Resolving host address...
---- 2 addresses found: ▮▮▮▮▮▮▮▮, ▮▮▮▮▮▮▮▮
lftp ftp2@example.nl@example.nl:~> dir
---- Connecting to example.nl (▮▮▮▮▮▮▮▮) port 21
**** connect(control_sock): Network is unreachable
---- Closing control socket
---- Connecting to example.nl (▮▮▮▮▮▮▮▮) port 21
<--- 220 ProFTPD 1.3.5b Server ready.
---> FEAT
<--- 211-Features:
<---  CCC
<---  PBSZ
<---  AUTH TLS
<---  MFF modify;UNIX.group;UNIX.mode;
<---  REST STREAM
<---  MLST modify*;perm*;size*;type*;unique*;UNIX.group*;UNIX.mode*;UNIX.owner*;
<---  LANG en-US.UTF-8*
<---  UTF8
<---  EPRT
<---  EPSV
<---  MDTM
<---  SSCN
<---  TVFS
<---  MFMT
<---  SIZE
<---  PROT
<--- 211 End
---> AUTH TLS
<--- 234 AUTH TLS successful
---> LANG
Certificate: OU=Domain Control Validated,OU=PositiveSSL Wildcard,CN=*.zxcs.nl
 Issued by: C=GB,ST=Greater Manchester,L=Salford,O=COMODO CA Limited,CN=COMODO RSA Domain Validation Secure Server CA
WARNING: Certificate verification: Not trusted
WARNING: Certificate verification: certificate common name doesn't match requested host name ‘example.nl’
<--- 200 Using default language en_US.UTF-8
---> OPTS UTF8 ON
<--- 200 UTF8 set to on
---> OPTS MLST modify;perm;size;type;UNIX.group;UNIX.mode;UNIX.owner;
<--- 200 OPTS MLST modify;perm;size;type;UNIX.group;UNIX.mode;UNIX.owner;
---> USER ftp2@example.nl
<--- 331 Password required for ftp2@example.nl
---> PASS XXXX
<--- 230 User ftp2@example.nl logged in
---> PWD
<--- 257 "/" is the current directory
---> PBSZ 0
<--- 200 PBSZ 0 successful
---> PROT P
<--- 200 Protection set to Private
---> PASV
<--- 227 Entering Passive Mode (▮▮▮▮▮▮▮▮).
---- Connecting data socket to (▮▮▮▮▮▮▮▮) port 35035
---- Data connection established
---> LIST
<--- 150 Opening ASCII mode data connection for file list
Certificate: OU=Domain Control Validated,OU=PositiveSSL Wildcard,CN=*.zxcs.nl
 Issued by: C=GB,ST=Greater Manchester,L=Salford,O=COMODO CA Limited,CN=COMODO RSA Domain Validation Secure Server CA
WARNING: Certificate verification: Not trusted
WARNING: Certificate verification: certificate common name doesn't match requested host name ‘example.nl’
---- Got EOF on data connection
---- Closing data socket
drwxr-xr-x  11 ftp      ftp          4096 Feb 11 16:56 .
drwxr-xr-x  11 ftp      ftp          4096 Feb 11 16:56 ..
drwxr-xr-x   2 ftp      ftp          4096 Dec 29 10:48 01.home
lftp ftp2@example.nl@example.nl:/>
5
задан 28 February 2017 в 21:12
3 ответа

Проблема может быть вызвана устаревшими библиотеками SSL.
Также, если это сервер ProFTPd, в его конфиге есть подсказка добавить TLSOptions NoSessionReuseRequired.
Вы видели логи своего ftp-сервера?

0
ответ дан 6 July 2020 в 17:17

Как сказано в комментариях, ssl:check-hostname будет работать. Его можно установить в оболочке lftp с помощью

set ssl:check-hostname no
6
ответ дан 22 December 2020 в 06:26

Я столкнулся с похожей проблемой в Amazon Linux 2, описанной ниже, мне это помогло.

Добавьте файл "/etc/lftp.conf" и повторите попытку подключения.

vi /etc/lftp.conf и добавьте, как показано ниже.

подтвердите его, как показано ниже.

cat /etc/lftp.conf | grep hostname
set ssl:check-hostname no
1
ответ дан 17 February 2021 в 08:10

Теги

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