Возможно, это была проблема с версией libssh php5, скомпилированной с помощью. Пробовал это на моем рабочем столе и столкнулся с тем же вопросом.
> ssh -C -vv [email protected]
...
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug2: kex_parse_kexinit: diffie-hellman-group14-sha1
debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,[email protected],[email protected],[email protected],[email protected],ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-ctr,aes256-ctr,arcfour256,arcfour
debug2: kex_parse_kexinit: aes128-ctr,aes256-ctr,arcfour256,arcfour
debug2: kex_parse_kexinit: hmac-sha1,hmac-sha1-96,hmac-md5,hmac-md5-96
debug2: kex_parse_kexinit: hmac-sha1,hmac-sha1-96,hmac-md5,hmac-md5-96
debug2: kex_parse_kexinit: [email protected],zlib,none
debug2: kex_parse_kexinit: [email protected],zlib,none
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: kex_parse_kexinit: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,arcfour
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,arcfour
debug2: kex_parse_kexinit: hmac-sha1,hmac-sha1-96
debug2: kex_parse_kexinit: hmac-sha1,hmac-sha1-96
debug2: kex_parse_kexinit: none,[email protected]
debug2: kex_parse_kexinit: none,[email protected]
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: mac_setup: found hmac-sha1
debug1: kex: server->client aes128-ctr hmac-sha1 [email protected]
debug2: mac_setup: found hmac-sha1
debug1: kex: client->server aes128-ctr hmac-sha1 [email protected]
Вы можете видеть, что мой клиент поддерживает методы сжатия [email protected]
, zlib
и none
пока сервер поддерживает только [email protected]
и none
, поэтому ключевой процесс обмена в конечном итоге оседает на использование [email protected]
.
К сожалению, поддержка типа [email protected]
wasn't added to libssh2 until 1.4.3 сжатия и да, как вы уже догадались, мой php5.4 был скомпилирован с libssh 1.2.7.
> phpinfo(INFO_MODULES);
....
ssh2
SSH2 support => enabled
extension version => 0.11.3-dev
libssh2 version => 1.2.7
banner => SSH-2.0-libssh2_1.2.7
remote forwarding => enabled
hostbased auth => enabled
polling support => enabled
publickey subsystem => enabled
TL; DR: Если WinSCP использует [email protected]
как сжатие, убедитесь, что ваш PHP скомпилирован против на libssh2 1.4.3.
Можете ли вы использовать Putty для SSH на сервере (чтобы подтвердить, что учетные данные работают)? Убедитесь, что вы выбрали «Включить сжатие» в Putty – Raptor
Да, логин/пароль хорош, этот код работает хорошо (но загрузка слишком медленная), поэтому я пытаюсь добавить сжатие и сохранить некоторое время выполнения. – Konstantin
Можете ли вы опубликовать журналы PuTTY? Просто потому, что установлен флажок «Включить сжатие», не обязательно означает, что используется сжатие * *. Вы можете получить журналы Putty, включив ведение журнала. Для этого перейдите в PuTTY-> Session-> Запуск и проверка переключателя «SSH-пакеты». – neubert