![如果我使用带有 ssh -A 选项的身份验证代理转发,我的私钥是否安全?](https://linux22.com/image/648953/%E5%A6%82%E6%9E%9C%E6%88%91%E4%BD%BF%E7%94%A8%E5%B8%A6%E6%9C%89%20ssh%20-A%20%E9%80%89%E9%A1%B9%E7%9A%84%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E4%BB%A3%E7%90%86%E8%BD%AC%E5%8F%91%EF%BC%8C%E6%88%91%E7%9A%84%E7%A7%81%E9%92%A5%E6%98%AF%E5%90%A6%E5%AE%89%E5%85%A8%EF%BC%9F.png)
我喜欢使用 -A 选项通过 SSH 连接到服务器的选项,这样我就可以在服务器上使用我的私钥。
这使我能够更新 git/svn 存储库并连接到其他服务器,而无需将私钥上传到服务器。
惊人的!
但它是如何工作的呢?
我担心私钥在服务器上是暂时可访问的。如果服务器被入侵,或者其他用户以 root 身份登录,则私钥可能会被访问。
是吗?
我检查了 /tmp 的内容,其中ssh-something
有一个名为的文件夹,里面有一个名为的套接字ssh-something
。
这让我希望必要的握手请求能够传递到我的本地机器,并在那里进行处理/签名,而我的私钥实际上永远不会离开我的本地机器。
是吗?
答案1
抱歉,在阅读之前询问...
从man ssh
应谨慎启用代理转发。能够绕过远程主机上的文件权限(对于代理的 UNIX 域套接字)的用户可以通过转发的连接访问本地代理。攻击者无法从代理获取密钥材料,但他们可以对密钥执行操作,使他们能够使用加载到代理中的身份进行身份验证。