用 ssh -A 在远程服务器上使用本地 SSH 密钥
通过 -A 转发 ssh-agent,让远程服务器用你本地的密钥去拉代码或登录其他机器,私钥不用拷贝过去。
运行 ssh -A user@remote-server 登录后,在该服务器上 git clone git@github.com:... 即可用你本地的密钥完成认证。
01命令
命令
$ ssh -A user@remote-server02作用说明
ssh-agent 在本地保管着解锁的私钥;-A 会把一条通往这个 agent 的通道转发到远程机器,于是远程机上的 SSH 认证(走 SSH 的 git、跳连第三台机器)实际由你本地的 agent 应答——私钥始终不离开本地电脑。想对常用主机默认开启,就在 ~/.ssh/config 对应 Host 段写 ForwardAgent yes。在远程机上运行 ssh-add -l 能列出你的密钥,说明转发成功。
03风险
!注意: 只对可信的服务器转发:转发期间,目标机上的 root 用户可以劫持 agent 套接字冒充你认证——共享机器和不可信机器一律不要转发。
04撤销
✓无需撤销——该命令不会改变持久状态。
05来源
- ssh(1) — Linux manual page (-A / ForwardAgent)依据: Documents -A to enable forwarding of the ssh-agent authentication agent connection to the remote host.
- Arch Wiki — SSH keys: Agent forwarding依据: Explains how agent forwarding lets remote hosts authenticate with your local keys and its security caveats.
最后验证: 2026-09-18 · 分类: 安全与隐私