neuron_by
@neuron_by
администрирование сетей

Не подключается phpshtorm к ftps c TLS?

Добрый день поднят сервер pure-ftpd с поддержкой TLS настройки:
TLS - 2
TLSCipherSuite - ALL
Сертификат, купленный от регистратора

При подключении через PhpShtorm получаю такой лог:
spoiler

2018-02-22 20:54:04,060 [ 552110]  DEBUG - t.connections.RemoteConnection - Opening connection to ftps://************:***/ in @5a93a058 
2018-02-22 20:54:04,065 [ 552115]  DEBUG - ains.plugins.webDeployment.ftp - 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 15 of 1000 allowed.
220-Local time is now 20:54. Server port: ***.
220-This is a private system - No anonymous login
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity. 
2018-02-22 20:54:04,065 [ 552115]  DEBUG - ains.plugins.webDeployment.ftp - AUTH TLS 
2018-02-22 20:54:04,066 [ 552116]  DEBUG - ains.plugins.webDeployment.ftp - 234 AUTH TLS OK. 
2018-02-22 20:54:04,118 [ 552168]  DEBUG - ains.plugins.webDeployment.ftp - USER shop_neuron 
2018-02-22 20:54:04,119 [ 552169]  DEBUG - ains.plugins.webDeployment.ftp - 331 User ******* OK. Password required 
2018-02-22 20:54:04,119 [ 552169]  DEBUG - ains.plugins.webDeployment.ftp - PASS *** 
2018-02-22 20:54:04,142 [ 552192]  DEBUG - ains.plugins.webDeployment.ftp - 230 OK. Current restricted directory is / 
2018-02-22 20:54:04,142 [ 552192]  DEBUG - ains.plugins.webDeployment.ftp - TYPE I 
2018-02-22 20:54:04,142 [ 552192]  DEBUG - ains.plugins.webDeployment.ftp - 200 TYPE is now 8-bit binary 
2018-02-22 20:54:04,142 [ 552192]  DEBUG - ains.plugins.webDeployment.ftp - CWD / 
2018-02-22 20:54:04,143 [ 552193]  DEBUG - ains.plugins.webDeployment.ftp - 250 OK. Current directory is / 
2018-02-22 20:54:04,143 [ 552193]  DEBUG - ains.plugins.webDeployment.ftp - PBSZ 0 
2018-02-22 20:54:04,143 [ 552193]  DEBUG - ains.plugins.webDeployment.ftp - 200 PBSZ=0 
2018-02-22 20:54:04,143 [ 552193]  DEBUG - ains.plugins.webDeployment.ftp - PROT P 
2018-02-22 20:54:04,144 [ 552194]  DEBUG - ains.plugins.webDeployment.ftp - 200 Data protection level set to "private" 
2018-02-22 20:54:04,144 [ 552194]  DEBUG - ains.plugins.webDeployment.ftp - FEAT 
2018-02-22 20:54:04,144 [ 552194]  DEBUG - ains.plugins.webDeployment.ftp - 211-Extensions supported:
 EPRT
 IDLE
 MDTM
 SIZE
 MFMT
 REST STREAM
 MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*;
 MLSD
 AUTH TLS
 PBSZ
 PROT
 UTF8
 TVFS
 ESTA
 PASV
 EPSV
 SPSV
211 End. 
2018-02-22 20:54:04,145 [ 552195]  DEBUG - ains.plugins.webDeployment.ftp - PORT *,*,*,*,243,114 
2018-02-22 20:54:04,145 [ 552195]  DEBUG - ains.plugins.webDeployment.ftp - 200 PORT command successful 
2018-02-22 20:54:04,145 [ 552195]  DEBUG - ains.plugins.webDeployment.ftp - MLSD 
2018-02-22 20:54:04,147 [ 552197]  DEBUG - ains.plugins.webDeployment.ftp - 150 Connecting to port 62322 
2018-02-22 20:54:04,199 [ 552249]   INFO - ains.plugins.webDeployment.ftp - java.net.SocketException: Connection closed by remote host 
2018-02-22 20:54:04,203 [ 552253]  DEBUG - ains.plugins.webDeployment.ftp - 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------


Но при подключении через WinSCP все проходит и с файлами можно работать.
Настройки PhpShtorm:
****.******.***
port: ***
Root: /
explit 
no passiv(в локальной сети)
passiv(во внешней сети)
Кодировка UTF8
Остальное стандартное

Настройки WinSCP
FTP с явным TLS
Не пасивный (в локальной сети)
Пасивный (из вне)

лог сервера при подключении Phpshtorm

New connection from *
Command [auth] [TLS]
TLS: Enabled TLSv1.2 with ECDHE-RSA-AES128-GCM-SHA256, 128 secret bits cipher
Command [user] [private]
Command [pass] [<*>]
shop_neuron is now logged in
Command [type] [I]
Command [pbsz] [0]
Command [prot] [P]
Command [feat] []
Command [port] [не нужные, правильные цифры]
Command [mlsd] []
и всё

лог при подключении через WinSCP

New connection from *
Command [auth] [TLS]
TLS: Enabled TLSv1.2 with ECDHE-RSA-AES256-GCM-SHA384, 256 secret bits cipher
Command [user] [private]
Command [pass] [<*>]
shop_neuron is now logged in
Command [syst] []
Command [feat] []
Command [opts] [UTF8 ON]
Command [pbsz] [0]
Command [prot] [P]
Command [pwd] []
Command [cwd] [/]
Command [pwd] []
Command [type] [A]
Command [port] [не нужные, правильные цифры]
Command [mlsd] []
TLS: Enabled TLSv1.2 with ECDHE-RSA-AES256-GCM-SHA384, 256 secret bits cipher
... и дальше команды по обмену файлами

По сути отличие в том что phphstorm не передал utf8, у него type - RAW (у WinSCP - ASCI), и он не сделал cwd в каталог

Еще дополнительное наблюдение при подключении он не запросил подтверждение сертификата (оказалось потому что сертификат на wldcard, и он уже был авторизован)

При этом у меня в сети есть еще один сервер ftp на котором аналогичные настройки, но к нему phpshtorm подключается и запрашивает подтверждение сертификата, и команды до mlsd аналогичные

UPD:
Дошел до того что phpshtorm пытается подключится с низким уровнем шифрования ( ECDHE-RSA-AES128-GCM-SHA256, 128) для передачи файлов, хотя этого уровня достаточно для передачи команд)

И phpshtorm стал подключаться когда отключено шифрование данных:
Advanced option -> Protecr data chennel - [No protection(PROT C)]
Это знак что пора переходить на deploy через docker)

UPD2:
Как это правильно говориться
А ларчик просто открывался)
У pureftp есть параметр BrokenClientsCompatibility, который включает поддержку кривых клиентов.
  • Вопрос задан
  • 365 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы