計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)

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. 左側の「カテゴリ」パネルから「セッション」に戻り, セッションを「保存」する.


計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)
海洋大循環分野
daigo@ocg.aori.u-tokyo.ac.jp