web-dev-qa-db-ja.com

sshdが「サポートされていない鍵交換アルゴリズム」エラーでシャットダウンする

sshd

$ /usr/sbin/sshd -f testconfig -p 22025 -d

debug1: sshd version OpenSSH_5.2p1
debug1: private Host key: #0 type 0 RSA1
debug1: read PEM private key done: type RSA
debug1: private Host key: #1 type 1 RSA
debug1: read PEM private key done: type DSA
debug1: private Host key: #2 type 2 DSA
debug1: setgroups() failed: Operation not permitted
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-f'
debug1: rexec_argv[2]='testconfig'
debug1: rexec_argv[3]='-p'
debug1: rexec_argv[4]='22025'
debug1: rexec_argv[5]='-d'
debug1: Bind to port 22025 on 127.0.0.1.
Server listening on 127.0.0.1 port 22025.
Generating 1024 bit RSA key.
RSA key generation complete.
debug1: fd 4 clearing O_NONBLOCK
debug1: Server will not fork when running in debugging mode.
debug1: rexec start in 4 out 4 newsock 4 pipe -1 sock 7
debug1: inetd sockets after dupping: 3, 3
Connection from 127.0.0.1 port 58477
debug1: Client protocol version 2.0; client software version OpenSSH_5.5
debug1: match: OpenSSH_5.5 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.2
debug1: privsep_preauth: successfully loaded Seatbelt profile for unprivileged child
debug1: list_hostkey_types: 
No supported key exchange algorithms
debug1: do_cleanup
debug1: do_cleanup
debug1: audit_event: unhandled event 12

ssh

$ ssh [email protected] -p 22025 -i ./id_rsa.pub -v
OpenSSH_5.5p1, OpenSSL 0.9.8o 01 Jun 2010
debug1: Reading configuration data /Users/dgl/.ssh/config
debug1: Reading configuration data /opt/local/etc/ssh/ssh_config
debug1: Connecting to 127.0.0.1 [127.0.0.1] port 22025.
debug1: Connection established.
debug1: identity file ./id_rsa.pub type 1
debug1: identity file ./id_rsa.pub-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.2
debug1: match: OpenSSH_5.2 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.5
debug1: SSH2_MSG_KEXINIT sent
Connection closed by 127.0.0.1

ssh_config

Protocol 1,2
ListenAddress 127.0.0.1
HostKey ./ssh_Host_key
HostKey ./ssh_Host_rsa_key
HostKey ./ssh_Host_dsa_key
RSAAuthentication yes
PubkeyAuthentication yes
8
Dmitry Gladkov

私は同じ問題にぶつかっただけで、相対HostKeyパスを絶対パスに変更することで解決しました。つまり、

HostKey ./ssh_Host_key

置く:

HostKey /home/dmitry/ssh_Host_key

またはどこにいても。

そのエラーはあまり役に立ちませんか?

6
Matthew Bloch

Fedoraでこの問題に遭遇しました。最終的に私は気づきました:

root@wisdom:/etc/ssh# ll
total 268K
drwxr-xr-x.   2 root root     4.0K Jun 30 06:06 ./
drwxr-xr-x. 128 root root      12K Jun 30 05:15 ../
-rw-r--r--.   1 root root     237K Jun  8 23:30 moduli
-rw-r--r--.   1 root root     2.2K Jun  8 23:30 ssh_config
-rw-------.   1 root root     4.3K Jun 30 06:03 sshd_config
-rw-r-----.   1 root ssh_keys    0 Jun 27 00:46 ssh_Host_ecdsa_key
-rw-r--r--.   1 root root        0 Jun 27 00:46 ssh_Host_ecdsa_key.pub
-rw-r-----.   1 root ssh_keys    0 Jun 27 00:46 ssh_Host_ed25519_key
-rw-r--r--.   1 root root        0 Jun 27 00:46 ssh_Host_ed25519_key.pub
-rw-r-----.   1 root ssh_keys    0 Jun 27 00:46 ssh_Host_rsa_key
-rw-r--r--.   1 root root        0 Jun 27 00:46 ssh_Host_rsa_key.pub

キーファイルの長さがゼロです!新しいキーペアを生成し、問題を修正しました。

ssh-keygen -t rsa -f /etc/ssh/ssh_Host_rsa_key
ssh-keygen -t ecdsa -f /etc/ssh/ssh_Host_ecdsa_key
ssh-keygen -t ed25519 -f /etc/ssh/ssh_Host_ed25519_key
17
John Elliot V

FWIW、私は同じエラーメッセージに出くわしましたが、原因は異なります。私の場合、問題はホストの秘密鍵ファイルが600ではなくモード640であることが判明しました。chmodとsshdをすばやく再起動すると問題が解決しました。ここでの一般的なテーマは、sshdが何らかの理由でホストキーをロードしないことだと思います。

4
Paul Stauffer

私は実際にこの問題に遭遇しました...そしてそれは私たちの古き良き友人SELinuxでした。

ランニング setenforce 0はそれが機能したことを証明しますが、これは良い解決策ではありません。しかし、それが最終的な解決策をより明確にするのに役立つとすぐに。

$ cd /etc/ssh
$ restorecon -Rv *

SELinux(setenforce 1)...そして、すべてが順調です。

2
Mark Waterhouse

この問題がcloud-initでハッキングされたばかりです。私の場合、原因はホストキーが生成されなかったことで、dpkg-reconfigure openssh-server(Debian/Ubuntu固有)が修正しました。

2
Robie Basak

私はこのエラーメッセージに遭遇し、設定することで解決しました:

UsePAM yes

これはパスワードのないアカウント(ルートなど)でのみ発生しました。

1
jippie

これで6時間も無駄にした!私はここですべてのソリューションに加えて非常に多くのソリューションを試しました!無駄に!次に、openssh-serverを削除して再インストールしました。それはうまくいき、約15分かかったすべてを再構成しました。そして、私は素晴らしい教訓を学びました!

リセットして作業に戻ることができるもののデバッグに時間を無駄にしないでください!

すべての構成ファイルのすべてのビットとすべてのアプリケーションのデバッグ情報を処理してもメリットはありません。

0

私の場合、問題は過度に熱狂的なapparmorプロファイルでした。

/var/log/auth.logファイルにも次のメッセージが表示されました。

fatal: linux_audit_write_entry failed: Permission denied

実行することで解決:

aa-complain /etc/apparmor.d/usr.sbin.sshd
0
Rhyven

修正したことは、この行を追加することでした/ etc/ssh/sshd_configを実行してください:

Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,[email protected],[email protected],[email protected],aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192
-cbc,aes256-cbc,arcfour,[email protected]

KexAlgorithms [email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exch
ange-sha1,diffie-hellman-group1-sha1

HostkeyAlgorithms +ssh-dss
0
chuckedw

私のシナリオでは、秘密鍵の権限が間違っていました。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0444 for '/etc/ssh/ssh_Host_rsa_key' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
key_load_private: bad permissions
Could not load Host key: /etc/ssh/ssh_Host_rsa_key
0
Petras L