私は現在Aptana Studio 3.6.1(いくつかのPHP構文修正を含むカスタムビルド)を使用しています。公開ツールを使用して、SFTPを使用してプロジェクトからテストサイトにファイルをアップロードします(プロジェクトの上部にある矢印をアップロード/ダウンロードします)。
最近、ファイルをアップロードできなくなりました。 WinSCPは問題なく実行でき、PuTTYまたはプレーンな古いOpenSSHを使用すると、問題なくサーバーにSSH接続できます。ただし、Aptanaは適合をスローします。
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]
Aptanaが使用するいくつかの暗号スイートがサーバーにセットアップされていないという以前のエラーを修正するために、すでにsshd_configをいじっていることに注意する必要があります。この問題は鍵交換暗号スイートと関係があると思いますが、追加するスイートを決定するためにその問題をデバッグする方法がわかりません。
$ 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
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では、デフォルトで次のアルゴリズムがアクティブになっています。 diffie-hellman-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もサポートしていますが、デフォルトではオフになっています。 KexAlgorithms行をsshd構成に追加することにより、sshdがこの鍵交換アルゴリズムを使用できるようにする必要があります。
リモートサーバーで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
#/etc/init.d/ssh restart
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-8508324
それは4年後のことであり、Aptana STILLは適切な鍵交換アルゴリズムで更新されていません。私はAptanaが大好きですが、sshd_configを変更するサーバーにアクセスできない場合(クライアントで作業している場合など)は、別のIDE I'm恐れ。
あなたが答えを探してここに来たなら、私はキーでSSH/SFTPに基本的なEclipseを使用する方法についての記事に書きました: https://peacocksoftware.com/blog/ssh-key-authentication-Eclipse