ヤマハルータ RTX810 に Mac と Ubuntu から ssh ログインできなくなった。
以前は Mac からも Ubuntu からも我が家の RTX810 に ssh できていた記憶があるが、Ubuntu も Mac もアップデートしたことでできなくなったっぽい。(正確な記憶なし)
$ ssh hoge@172.16.100.1 Unable to negotiate with 172.16.100.1 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 $
上記は、Mac から RTX810 に ssh ログインしようとして弾かれたときの様子だで、Mac が「RTX810 とネゴシエートできる鍵交換メソッドがない」と言っているのだ。「彼ら (RTX810 のこと) は、diffie-hellman-group-exchange-sha1、diffie-hellman-group14-sha1、diffie-hellman-group1-sha1 をオファーしてきている」とも。
要は、Mac が sha1 を使わなくなったにも関わらず RTX810 が sha1 しか使えないために、このような不一致が起こるようになったのだと思う。
回避策としては、ssh クライアント側 (Mac と Ubuntu) で RTX810 に ssh するときには sha1 を使うようなオプションを入れてやるしかなさそうだ。
そこで、Mac と Ubuntu の $HOME/.ssh/config に以下のような定義を入れた。
Host yamaha HostName 172.16.100.1 User hoge KexAlgorithms +diffie-hellman-group14-sha1
これで、Mac と Ubuntu から RTX810 に ssh するときは以下の操作に変わる。
$ ssh yamaha hoge@172.16.100.1's password: RTX810 BootROM Ver. 1.00 RTX810 FlashROM Table Ver. 1.01 RTX810 Rev.11.01.34 (Tue Nov 26 18:39:12 2019) Copyright (c) 1994-2019 Yamaha Corporation. All Rights Reserved. To display the software copyright statement, use 'show copyright' command. 00:a0:de:cb:6f:17, 00:a0:de:cb:6f:18 Memory 128Mbytes, 2LAN rtx810-hogehoge-hikari>
これで無事に Mac と Ubuntu から RTX810 に ssh できるようになった。