久しぶりの備忘録です。
ちょっと手間取ったので・・・
概要
内容
Windows Update後、PowerShellにてSSH接続をしようとしたら、以下のエラーが出力して失敗する
sign_and_send_pubkey: no mutual signature supported
************* : Permission denied (publickey,gssapi-with-mic).
原因
Windows Updateにより新しいopensshがインストールされ、古い認証鍵を利用した接続がエラーとなているようです。
対策
opensshを古いバージョンに戻す
手順
古いopensshをダウンロードする
Releases · PowerShell/Win32-OpenSSH
Win32 port of OpenSSH. Contribute to PowerShell/Win32-OpenSSH development by creating an account on GitHub.
にアクセスし、
v7.7.0.0p1-Beta
をダウンロード
環境変数の確認
[スタート]を右クリック→[システム]→[システムの詳細設定]→[環境変数]をクリック
システム環境変数のPathに
C:\WINDOWS\System32\OpenSSH\
があることを確認
OpenSSHの置き換え
C:\WINDOWS\System32\OpenSSHをリネーム(OpenSSH_8.1とかにした)
(削除でもよいが切り戻しができなくなる)
その後、ダウンロードした古いOpenSSHを解凍し、「OpenSSH」にリネーム
C:\WINDOWS\System32\ 配下にコピー
まとめ
- パーミッション系のエラーはおそらくOpenSSHのバージョンの問題
- 古いのに置き換えたらうまくいくかも
- 多分ほかにも良いやり方があるんだろうが多分一番手っ取り早い
セキュリティ云々の話は知らん!
コメント