久しぶりの備忘録です。
ちょっと手間取ったので・・・
概要
内容
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
をダウンロード
![](https://gametech.vatchlog.com/wp-content/uploads/2021/09/01-1024x808.png)
環境変数の確認
[スタート]を右クリック→[システム]→[システムの詳細設定]→[環境変数]をクリック
![](https://gametech.vatchlog.com/wp-content/uploads/2021/09/02.png)
システム環境変数のPathに
C:\WINDOWS\System32\OpenSSH\
があることを確認
![](https://gametech.vatchlog.com/wp-content/uploads/2021/09/03.png)
OpenSSHの置き換え
C:\WINDOWS\System32\OpenSSHをリネーム(OpenSSH_8.1とかにした)
(削除でもよいが切り戻しができなくなる)
その後、ダウンロードした古いOpenSSHを解凍し、「OpenSSH」にリネーム
C:\WINDOWS\System32\ 配下にコピー
まとめ
- パーミッション系のエラーはおそらくOpenSSHのバージョンの問題
- 古いのに置き換えたらうまくいくかも
- 多分ほかにも良いやり方があるんだろうが多分一番手っ取り早い
セキュリティ云々の話は知らん!
コメント