当我从AgentForwarding
启用了 ssh 的 macOS 客户端进入 Windows 10 主机时,我无法访问主机上的客户端密钥。
Windows主机上内置的OpenSSH服务器已AllowAgentForwarding
启用。
另外,当我通过 ssh 进入其他(非 Windows)主机时,代理转发也能正常工作。
我是否缺少一些特殊技巧来使代理转发在 Windows 主机上运行,或者是什么原因导致它无法运行。
调试日志至少似乎表明它正在尝试连接代理:
debug1: active: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
debug1: server_input_channel_req: channel 0 request auth-agent [email protected] reply 0
debug1: session_input_channel_req: session 0 req [email protected]
答案1
答案2
在 Windows 11 上,至少可以使用 SSH 代理转发,但您需要运行 ssh 身份验证代理:
- 从开始菜单打开‘服务’应用程序。
- 向下滚动到“OpenSSH 身份验证代理”。
- 右键单击该服务以访问其“属性”。将其“启动类型”更改为“自动(延迟启动)”。单击“确定”保存更改。
- 右键单击该服务并从上下文菜单中选择“启动”。
答案3
SSH-Agent 在 Windows 上默认是禁用的。
# By default the ssh-agent service is disabled. Allow it to be manually started for the next step to work.
# Make sure you're running [Powershell] as an Administrator.
Get-Service ssh-agent | Set-Service -StartupType Manual
# Start the service
Start-Service ssh-agent
# This should return a status of Running
Get-Service ssh-agent
# Now load your key files into ssh-agent
ssh-add ~\.ssh\id_ed25519