我喜欢使用 -A 选项通过 SSH 连接到服务器的选项,这样我就可以在服务器上使用我的私钥。
这使我能够更新 git/svn 存储库并连接到其他服务器,而无需将私钥上传到服务器。
惊人的!
但它是如何工作的呢?
我担心私钥在服务器上是暂时可访问的。如果服务器被入侵,或者其他用户以 root 身份登录,则私钥可能会被访问。
是吗?
我检查了 /tmp 的内容,其中ssh-something
有一个名为的文件夹,里面有一个名为的套接字ssh-something
。
这让我希望必要的握手请求能够传递到我的本地机器,并在那里进行处理/签名,而我的私钥实际上永远不会离开我的本地机器。
是吗?
答案1
抱歉,在阅读之前询问...
从man ssh
应谨慎启用代理转发。能够绕过远程主机上的文件权限(对于代理的 UNIX 域套接字)的用户可以通过转发的连接访问本地代理。攻击者无法从代理获取密钥材料,但他们可以对密钥执行操作,使他们能够使用加载到代理中的身份进行身份验证。