🗝️

Windows11で元のsshだとAgentForwardがうまくいかない

2024/08/01に公開

事象

AgentForwardの設定をしても、ssh接続先で ssh-add -l の結果が空になっている。

原因

sshのバージョンが古い。具体的には下記のバージョンだとうまくいかなかった。

OpenSSH_for_Windows_8.6p1, LibreSSL 3.4.3

下記のバージョンだとうまくいった。

OpenSSH_for_Windows_9.5p1, LibreSSL 3.8.2

対処法

# 対象パッケージの確認
PS > winget search openssh
名前         ID                     バージョン ソース
------------------------------------------------------
OpenSSH Beta Microsoft.OpenSSH.Beta 9.5.0.0    winget

# インストール
PS > winget install Microsoft.OpenSSH.Beta

# 確認
PS > winget show Microsoft.OpenSSH.Beta
見つかりました OpenSSH Beta [Microsoft.OpenSSH.Beta]
バージョン: 9.5.0.0
公開元: Microsoft Corporation

インストール先は C:\Program Files\OpenSSH なので、これをシステム環境変数に設定する。そのあと ssh -V にてバージョンを確認する。

(もともとのsshは C:\Windows\System32\OpenSSH\ssh.exe にあるが、システム環境変数から除外しなくても、また ssh.exe自体を削除しなくてもうまく動くみたい)

参考

Discussion