IOS-XR が動作するルータにおいて、IOS-XR のバージョンアップ後に、ssh での接続ができなくなり、接続のタイミングで以下のような syslog が出力する事例が報告されています。
SSHD_[65771]: %SECURITY-SSHD-6-INFO_GENERAL : no matching kex found:
client diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
server
ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellma
n-group14-sha1
IOS-XR 6.3.2, 6.4.1, 6.5.1 以降では、SSH に関する実装が変更となっており
該当バージョン以降、弱い鍵交換アルゴリズムである "diffie-hellman-group1-sha1" をデフォルトで使用しないようになっています。
"diffie-hellman-group1-sha1" を使用する ssh クライアントを使用している場合は、この実装変更が要因である可能性があります。
対処方法としては以下の2つがあります。
- cdh-sha2-nistp521, ecdh-sha2-nistp384, ecdh-sha2-nistp256, diffie-hellman-group14-sha1 のいずれかの鍵交換アルゴリズムをサポートしている SSH クライアントを使用する
- "diffie-hellman-group1-sha1" を鍵交換アルゴリズムに使用するために、IOS-XR が動作する機器に以下の設定を行う。
※ "diffie-hellman-group1-sha1" は弱い鍵交換アルゴリズムであることを理由にサポートから外されています。リスク等を十分検討した上で判断されることをおすすめします。
RP/0/RP0/CPU0:IOS-XR(config)#ssh server algorithms key-exchange ?
WORD choose one or more in required preference
ecdh-sha2-nistp521
ecdh-sha2-nistp384
ecdh-sha2-nistp256
diffie-hellman-group14-sha1
diffie-hellman-group1-sha1 <<<
RP/0/RP0/CPU0:IOS-XR(config)#ssh server algorithms key-exchange diffie-hellman-group1-sha1
RP/0/RP0/CPU0:IOS-XR(config)#commit