chan_shutdown_read: channel 1: shutdown() failed for fd 7 [i0 o0]: Not a socket
ubustsuのlinuxサーバ(VPS)からgithubにつなげようとしたら上記メッセージが出てうまくいかなかった。
※2024/3/15手順追記
環境
サーバ
- Ubuntu 22.04.4 LTS \n \l
- OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)
操作端末
- Windows11
原因
おそらくこちらにあるWindows側でのssh-agentが悪さしているよう。
事象的にはWindows側のssh-agentがForwardAgent yes設定にてカギをもってサーバに入っているけどそいつが見れなくなって要るっぽい
きちんと直すならばこちらの対応でいけたそう
対処
Windows側のssh-agentの問題らしいのでベータに変えたら解消したっぽい。(細かい原因追っていないのでちょっと怪しい)
手順としては管理者権限のPowerShellで以下を順次実施
インストール済みOPENSSHの削除
PS C:\WINDOWS\system32> Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Path :
Online : True
RestartNeeded : True
PS C:\WINDOWS\system32> Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Path :
Online : True
RestartNeeded : False
Microsoft.OpenSSH.Betaのインストール
PS C:\WINDOWS\system32> winget install Microsoft.OpenSSH.Beta
見つかりました OpenSSH Beta [Microsoft.OpenSSH.Beta] バージョン 9.5.0.0
このアプリケーションは所有者からライセンス供与されます。
Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。
ダウンロード中 https://github.com/PowerShell/Win32-OpenSSH/releases/download/v9.5.0.0p1-Beta/OpenSSH-Win64-v9.5.0.0.msi
██████████████████████████████ 5.47 MB / 5.47 MB
インストーラーハッシュが正常に検証されました
パッケージのインストールを開始しています...
インストールが完了しました
※2024/3/15手順追記
1週間ほどしたらvscodeターミナルからsshが通らなくなっていた。パスを確認したところ昔のC:\Windows\system32\OpenSSHを指していて、今のC:\Program Files\OpenSSHを指していない。
個人用環境変数にC:\Program Files\OpenSSHを追加した。
細かいところで、1週間ぐらいたって通らなくなったのでWindowsアップデート等で書き換わった可能性もある。C:\Windows\system32\OpenSSHはシステム全体の環境変数に入っていたので、そちらがまた書き換わる可能性を考え個人用の環境変数の方に入れてみた。(どれだけ効果あるかや本当にWindowsUpdate絡みか確認していない。またおかしくなったらこれみて思い出す)