Обмен ключами Aptana SFTP
В настоящее время я работаю с Aptana Studio 3.6.1 (пользовательская сборка с некоторыми исправлениями синтаксиса PHP). Я использую SFTP для загрузки файлов из моего проекта на тестовый сайт с использованием инструментов публикации (загрузка/загрузка стрелок в верхней части проекта).
В последнее время я не смог загрузить файлы. WinSCP может сделать это просто отлично, и я могу без проблем использовать SSH на сервере при использовании PuTTY или простого старого OpenSSH. Аптана, однако, бросает посадку:
Failed to upload file
Establishing SFTP connection failed: No suitable key exchange algorithm could be agreed.
No suitable key exchange algorithm could be agreed.
Соответствующая ошибка в auth.log(с LogLevel DEBUG1):
Oct 26 14:42:42 dedi sshd[13690]: debug1: rexec start in 5 out 5 newsock 5 pipe 7 sock 8
Oct 26 14:42:42 dedi sshd[13690]: debug1: inetd sockets after dupping: 3, 3
Oct 26 14:42:42 dedi sshd[13690]: Connection from [My IP] port 24321 on [Server IP] port 22
Oct 26 14:42:42 dedi sshd[13690]: debug1: Client protocol version 2.0; client software version edtFTPjPRO-4.1.0
Oct 26 14:42:42 dedi sshd[13690]: debug1: no match: edtFTPjPRO-4.1.0
Oct 26 14:42:42 dedi sshd[13690]: debug1: Enabling compatibility mode for protocol 2.0
Oct 26 14:42:42 dedi sshd[13690]: debug1: Local version string SSH-2.0-OpenSSH_6.7p1 Debian-2
Oct 26 14:42:42 dedi sshd[13690]: debug1: permanently_set_uid: 102/65534 [preauth]
Oct 26 14:42:42 dedi sshd[13690]: debug1: list_hostkey_types: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256 [preauth]
Oct 26 14:42:42 dedi sshd[13690]: debug1: SSH2_MSG_KEXINIT sent [preauth]
Oct 26 14:42:42 dedi sshd[13690]: debug1: SSH2_MSG_KEXINIT received [preauth]
Oct 26 14:42:42 dedi sshd[13690]: debug1: kex: client->server 3des-cbc hmac-sha1 none [preauth]
Oct 26 14:42:42 dedi sshd[13690]: debug1: kex: server->client 3des-cbc hmac-sha1 none [preauth]
Oct 26 14:42:42 dedi sshd[13690]: fatal: Unable to negotiate a key exchange method [preauth]
Я должен отметить, что я уже сработал с помощью sshd_config, чтобы исправить более раннюю ошибку, когда некоторые серверные комплекты, используемые Aptana, не были настроены на сервере. Я подозреваю, что эта проблема имеет какое-то отношение к наборам ключей обмена ключами, но я не уверен, как отладить эту проблему, чтобы определить, какие пакеты добавить.
$ uname -a && lsb_release -a
Linux dedi 3.14-2-amd64 #1 SMP Debian 3.14.15-2 (2014-08-09) x86_64 GNU/Linux
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux testing (jessie)
Release: testing
Codename: jessie
Ответы
Ответ 1
Пожалуйста, используйте уровень DEBUG3. Затем вы увидите список алгоритмов обмена ключами, настроенных на вашем сервере, а также список, поддерживаемый вашим клиентом.
Затем добавьте следующую строку в ваш /etc/ssh/sshd _config:
KexAlgorithms <here comma-separated list of Kex Algorithms configured on your server>,<here one of the Kex Algorithms supported by your client>
Например, OpenSSH 6.7 по умолчанию имеет следующие алгоритмы: curve25519-sha256 @libssh.org, ecdh-sha2-nistp256, ecdh-sha2-nistp384, ecdh-sha2-nistp521, diffie-hellman-group-exchange -sha256, Диффи-Хеллмана-group14-SHA1.
Если клиент поддерживает только diffie-hellman-group1-sha1, то ваш /etc/ssh/sshd _config должен содержать
KexAlgorithms [email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1.
Это нормально - OpenSSH v.6.7 также поддерживает diffie-hellman-group1-sha1, но по умолчанию он отключен. Вы должны разрешить sshd использовать этот алгоритм обмена ключами, поместив строку KexAlgorithms в конфигурацию sshd.
Ответ 2
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected],[email protected],blowfish-cbc,aes128-cbc,3des-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc
[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
- Перезапустить службу ssh
#/etc/init.d/ssh restart
спасибо
Ответ 3
Для Debian 8 jessie, поставив это в /etc/ssh/sshd_config
, решила проблему для меня
KexAlgorithms [email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
взятый из этого комментария
https://github.com/rundeck/rundeck/issues/1147#issuecomment-85083240
Ответ 4
Это 4 года спустя, и Aptana STILL не была обновлена с надлежащим алгоритмом обмена ключами. Я люблю Aptana, но если у вас нет доступа к серверу для изменения sshd_config (например, если вы работаете на клиента), вам придется использовать другую IDE, я боюсь.
Если вы пришли сюда в поисках ответа, я написал статью о том, как использовать базовый Eclipse для SSH/SFTP с ключами: https://peacocksoftware.com/blog/ssh-key-authentication-eclipse