You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过VS Code Remote Tunnels实现SSH-Agent密钥转发?

实现Remote Tunnels的SSH密钥转发

可以通过以下两种方式实现类似SSH-Agent转发的功能,无需在远程服务器永久存储私钥:

方法1:借助ssh-agent自动转发(VS Code Remote Tunnels场景)

  • 先确保本地ssh-agent已启动并加载了私钥:
    # 启动ssh-agent(未运行时执行)
    eval "$(ssh-agent -s)"
    # 添加本地私钥
    ssh-add ~/.ssh/id_rsa
    
  • 连接Remote Tunnel时开启代理转发:
    命令行方式直接指定参数:
    code tunnel --forward ssh-agent
    
    或者在VS Code设置里找到remote.forwardAgent,将其设为true,后续每次连接Tunnel都会自动转发本地ssh-agent。

方法2:手动转发ssh-agent套接字(通用反向隧道场景)

  • 先查看本地ssh-agent的套接字路径:
    echo $SSH_AUTH_SOCK
    
  • 建立反向隧道时,把本地套接字转发到远程服务器的临时路径:
    ssh -R /tmp/remote_ssh_auth_sock:$SSH_AUTH_SOCK user@remote-server
    
  • 在远程服务器上设置环境变量指向转发后的套接字:
    export SSH_AUTH_SOCK=/tmp/remote_ssh_auth_sock
    
    之后在远程服务器上通过ssh连接其他机器时,会自动调用本地ssh-agent完成密钥验证,全程不会在远程存储私钥。

内容的提问来源于stack exchange,提问作者a06e

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 07:50:55