「OpenSSH」- SSH Agent Forwarding

  CREATED BY JENKINSBOT

问题描述

通过 SSH Agent Forwarding 特性,在 Client-A 分发 Public-Key 到 Host-A、Host-B 后,当 Client-A 使用 Private-Key 登录到 Host-A 之后, 此时 Client-A 能够从 Host-A 直接登录到 Host-B 主机,而无需在主机之间分发 Private-Key 信息。

这是因为 Host-A 连接 Host-B 主机时,Host-B 会询问 Host-A 的身份,而 Host-A 会将 询问 转发给 Client-A 的 SSH Agent 服务,由在 Client-A 的 SSH Agent 服务来响应 Host-B 的询问。

该笔记将记录:在 OpenSSH 中,如何配置使用 SSH Agent Forwarding 特性,以及相关问题的解决方案。

解决方案

在使用 SSH Agent Forwarding 特性前,需要在 Client-A 中进行以下检查:
1)SSH Agent 正在运行;
2)已经将 Private-Key 添加到 SSH Agent 中;
3)环境变量 SSH_AUTH_SOCK 正确定义,以确保 ssh(1) 能够连接到 SSH Agent 服务;

修改 Client-A 的 ~/.ssh/config 文件,添加如下配置:

Host *
  ForwardAgent yes

参考文献

What is SSH Agent Forwarding and How Do You Use It? – CloudSavvy IT