同问Windows 10 上的 ssh 代理转发,但在 Windows 11 上。
当我从AgentForwarding
启用了 ssh 的 Linux 客户端进入 Windows 11 主机时,我无法访问主机上的客户端密钥:
C:\Users\admin>ssh-add -l
The agent has no identities.
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]
更多信息,
我是否应该将 OpenSSH 身份验证代理服务配置为自动启动?
https://superuser.com/a/1354118/203539说
你必须
但我后来看到有一个警告:
我必须警告你反对使用 openssh 的 PowerShell 端口中的 ssh-agent,因为它会默默地使用注册表中密钥的磁盘存储。请参阅我自己的问题(和答案) Windows OpenSSH SSH 代理服务在哪里秘密存储私钥 以获得完整的解释。
本质上它有 3 个问题:
- 它将密钥存储在磁盘上 - 切勿在共享或来宾情况下使用
- 删除后密钥(痕迹)仍留在磁盘上
- PoweShell 实现在安全的关键方面不符合 openssh 手册页 ssh-agent.1。
但不确定这是否是同一件事。