Подтвердить что ты не робот

Обмен ключами 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
4b9b3361

Ответ 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

  • На удаленном сервере изменить sshd_config:

    nano/etc/ssh/sshd_config

  • Добавьте следующую строку:

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

  1. Перезапустить службу 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