試した環境
- Windows 11 Home 23H2
本題
2024 年 10 月のセキュリティ更新プログラムを適用したところ、sshコマンドで失敗するようになりました。
> ssh remote_host sign_and_send_pubkey: no mutual signature supported user@xxx: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
OpenSSH のバージョンが上がったことでSHA-1ハッシュアルゴリズムを使用したRSA署名がデフォルトで無効になったことが原因のようです。
セキュリティ更新プログラム適用前
> ssh -V OpenSSH_for_Windows_8.6p1, LibreSSL 3.4.3
セキュリティ更新プログラム適用後
> ssh -V OpenSSH_for_Windows_9.5p1, LibreSSL 3.8.2
SHA-1ハッシュアルゴリズムを使用したRSA署名を有効にするには、~/.ssh/config
の対象ホストに以下の記述を追加します。
Host remote_host HostkeyAlgorithms +ssh-rsa PubkeyAcceptedAlgorithms +ssh-rsa
参考
2024 年 10 月のセキュリティ更新プログラム (月例) | MSRC Blog | Microsoft Security Response Center
https://www.openssh.com/txt/release-8.8
OpenSSHがSHA-1を使用したRSA署名を廃止、BacklogのGitで発生した問題と解決にいたるまでの道のり | 株式会社ヌーラボ(Nulab inc.)