![使用 SSH 代理和 AddKeysToAgent 从远程服务器延迟加载 SSH 密钥](https://linux22.com/image/223289/%E4%BD%BF%E7%94%A8%20SSH%20%E4%BB%A3%E7%90%86%E5%92%8C%20AddKeysToAgent%20%E4%BB%8E%E8%BF%9C%E7%A8%8B%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%BB%B6%E8%BF%9F%E5%8A%A0%E8%BD%BD%20SSH%20%E5%AF%86%E9%92%A5.png)
我的 ssh-agent 配置为AddKeysToAgent yes
仅在首次使用密钥时才将密钥延迟加载到代理中。我还在ForwardAgent yes
ssh 配置中配置了远程服务器。
我想通过 ssh 进入远程服务器,然后使用 ssh 从 GitHub 克隆私有存储库。在远程服务器上,我正在执行以确认 ssh 代理转发正常工作。我对远程服务器和 GitHub 有不同的密钥。ssh -T [email protected]
以下是我的观察:
在我的本地计算机上,如果我执行,它会导致 GitHub 使用的密钥加载到 ssh 代理中。随后,当我登录远程服务器时,代理将被转发并在远程服务器上执行。
ssh -T [email protected]
ssh -T [email protected]
如果我没有将任何密钥加载到 ssh 代理中,则当我 ssh 到远程服务器时,远程服务器的密钥将加载到 ssh 代理中。从远程服务器,如果我尝试使用 ssh 进入 GitHub ,它将不起作用并返回。
ssh -T [email protected]
[email protected]: Permission denied (publickey)
有没有办法从在转发模式下使用 ssh 代理的远程服务器将 GitHub 密钥延迟加载到 ssh 代理中?