Ситуация: клиент с машиной AIX не может правильно подключиться к серверу Windows 2003, на котором запущен FTP-сервер Serv-U FTP Server v10.2. Обычный FTP работает. SFTP не работает.
Непонятно, где ошибка, на стороне FTP-клиента или на стороне сервера. Они подключаются к двоичному файлу ftp, имеющему -s
вариант флага.
Вот что они видят на своей стороне:
$ ftp -s -D 900 ftp.example.com
Connected to XX.XXX.XX.XXX.
220 Serv-U FTP Server v10.2 ready...
234 AUTH command OK. Initializing SSL connection.
TLS Auth Entered.
ERROR Error during the hand shake for the control connection
ERROR Error setting BIO object for the control connection
FTP: Unable to authenticate to Server.
Используя машину FreeBSD, я пытался увидеть, могу ли я оценить, что может происходить, поэтому я пытался запустить curl, как показано ниже, а также использовать curl внутри PHP, и я чувствую, что, возможно, есть проблема с сертификатами SSL на сервере Windows. Но затем другие люди смогли без проблем подключаться с других машин с помощью SFTP, поэтому трудно сказать, в чем проблема.
Вот curl
команда и ошибка вывода, которую я получаю от машины FreeBSD вне сети:
curl --ftp-ssl ftp://ftp.example.com
Результат:
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html
curl performs SSL certificate verification by default, using a "bundle"
of Certificate Authority (CA) public keys (CA certs). The default
bundle is named curl-ca-bundle.crt; you can specify an alternate file
using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
the bundle, the certificate verification probably failed due to a
problem with the certificate (it might be expired, or the name might
not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
the -k (or --insecure) option.
Что я могу сделать, чтобы увидеть, в чем может быть ошибка? Любые рекомендации о том, как отладить это и, возможно, увидеть сертификаты, которые передаются туда и обратно? Или, может быть, руководство о том, что сказать клиенту, чтобы дать нам что-то более диагностическое, чем «невозможность аутентификации». Опять же, когда мы открываем им ванильный FTP, все работает нормально, так что это определенно в безопасности соединения.
Насколько мне известно, ни одна из версий AIX до 7.1 не поставляется с FTP-клиентом с поддержкой SSL (и нет переключателя -s, как вы показываете в своем примере), поэтому похоже, что они используют нестандартный клиент, что на самом деле может быть что угодно.
Может быть, попросите их перейти на LFTPили Curl from Пакеты IBM RPM, оба имеют поддержку FTP через SSL
Мы столкнулись с аналогичной проблемой при настройке нашего предприятия; это было вызвано следующей строкой в конфигурации Cisco ASA на пути между задействованными машинами:
inspect ftp strict
Удаление strict
сделали свое дело.