計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)
OpenSSH サーバを更新したら PuTTY で接続できなくなったときの対策
情報源
http://www.sakashita-net.jp/2015/07/puttyopenssh.html
現象
OpenSSH のサーバ sshd をアップデートすると, PuTTY でアクセスできなくなる
ことがある.
OpenSSH サーバの OS を Ubuntu 15.10 にアップグレードした場合などでも同様.
この場合, PuTTY 側には何もメッセージが出ずに接続が切れてしまうので
理由が分かり辛いが, サーバ側のログ (/var/log/auth.log) に
error: Hm, kex protocol error: type 30 seq 1 [preauth]
というエラーが残っているはずである.
理由
2015年6月に出た OpenSSH 6.9 で次のような変更があった.
From the OpenSSH changelog
http://www.openssh.com/txt/release-6.9
* ssh(1), sshd(8): deprecate legacy SSH2_MSG_KEX_DH_GEX_REQUEST_OLD
message and do not try to use it against some 3rd-party SSH
implementations that use it (older PuTTY, WinSCP).
対策
PuTTY の設定を次のように変更して, 「Diffie-Hellman group exchange」の順位を下げる.
1. PuTTY を起動する.
2. セッション一覧からいつも使っているセッションを選択して「読込」.
とくに常用しているセッションがなければ「Default Settings」を選択して「読込」.
3. 左側の「カテゴリ」パネルの中の「接続」「SSH」の十字ボタンをクリックして開く.
4. 出てきた「Kex」をクリック
5. 「アルゴリズム選択ポリシー」の「Diffie-Hellman group exchange」を選択し,
「下へ」を何回かクリックして最下位に落とす.
6. 左側の「カテゴリ」パネルから「セッション」に戻り, セッションを「保存」する.
計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)