SSH Agent 转发配置与安全指南
在日常开发和运维工作中,我们经常需要通过多台跳板机 SSH 到内网服务器。每次都需要在每台机器上配置密钥或者输入密码,非常麻烦。SSH Agent 转发(Agent Forwarding)正是解决这一问题的利器。 什么是 SSH Agent SSH Agent 是一个后台运行的程序(守护进程),它负责管理用户的私钥。当你使用 SSH 连接服务器时,SSH Agent 会自动提供私钥进行认证,无需每次都输入密码或指定密钥文件。 核心组件 ssh-agent:后台守护进程,启动后会在环境变量中设置 SSH_AUTH_SOCK ssh-add:用于将私钥添加到 agent 管理列表 工作原理 1 2 [本地主机] ----SSH 隧道----> [跳板机] ----SSH----> [目标服务器] (持有私钥) (转发请求) (验证签名) 当启用 Agent Forwarding 后,跳板机会作为代理,将服务器的认证请求转发回本地主机,由本地的 SSH Agent 完成签名验证。 配置步骤 第一步:启动 SSH Agent 1 2 3 4 5 6 # 启动 ssh-agent $ ssh-agent -s # 输出示例: # SSH_AUTH_SOCK=/tmp/ssh-XXXX/agent.259996; export SSH_AUTH_SOCK; # SSH_AGENT_PID=260133; export SSH_AGENT_PID; 第二步:添加私钥 1 2 3 4 5 6 7 # 将私钥添加到 agent $ ssh-add ~/....