Wezterm on WindowsでSSH Agentが機能しない #
NightlyのWeztermでは,Wezterm Multiplexer間でSSH Agentを統合利用するため(? 流し読みしただけなのでドキュメント要参照)独自にSSH Agent Socketを提供するようになった.この機能により,Wezterm内で起動したShellでは SSH_AGENT_SOCK がWeztermの提供するSocketに上書きされる.Linux/macOSのOpenSSHではUNIX Socketを利用するので問題無く機能するが,Windowsでは正しく動作しない.
WindowsのOpenSSHでは,SSH AgentにNamedPipeを使用する.デフォルトで参照されるのは \\.\pipe\openssh-ssh-agent であるが,SSH_AGENT_SOCK で指定した任意のNamedPipeを使用することもできる.しかし,Weztermが供給するAgentはWindowsにおいてもUNIX Socketとなっており,OpenSSH側で処理できない.
Weztermの設定側で SSH_AGENT_SOCK の上書きを阻止することは現状では無理なようで,Shell側のProfileで対処するほかない.暫定の対処として,PowerShellのProfileに以下を追加した.
$Env:SSH_AUTH_SOCK="\\.\pipe\openssh-ssh-agent"