如何在Mac终端上进行SSH代理转发?


12

我已经检查了很多关于此的教程,但不清楚。

根据实际情况,有两种方式配置代理转发

  1. 在您的配置文件~/.ssh/config集中

    Host example.com
    
    ForwardAgent yes
    
  2. 通过添加身份,例如ssh-add

有什么用

  1. SSH代理转发,用于存储密钥密码。这样我们就不需要每次都输入密码了吗?

  2. 我们需要两个服务器来测试SSH代理转发吗?请提出建议。或者我们也可以使用单个服务器进行测试?

我已经检查了这个git hub链接,并遵循相同的步骤。我可以看到代理。当运行此命令时,这echo "$SSH_AUTH_SOCK" 表示它正在工作吗?

我该如何使用服务器?请指导我。

更新: 当我尝试ssh时,我在终端中收到此错误消息

座席承认未能使用钥匙签名。

Answers:


8

1)一种使用它的方法是正确的,另一种是命令行参数-A

2)代理存储密钥的通行短语。代理转发用于在远程服务器上使用本地身份(带有或不带有密码短语),而无需将其复制到可能不安全的环境中。

3)您可以使用一台服务器(例如本地主机)进行测试。

4)echo "$SSH_AUTH_SOCK"应该验证它的设置,但是这样做ssh-add -L会更可靠地验证它,因为它将测试与代理的连接。


感谢您的答复,这意味着我们必须像添加该密钥一样添加密钥和ssh吗?ssh username@servername.com,它不会询问您密码,因为它是由代理商存储的?我们可以使用servername = localhost吗?
Niks

ssh-add your-key将密钥添加到代理(如果密钥尚在使用中,它将要求输入一次密码)。然后ssh server(with -A或config选项)将不要求密码短语,并且来自该主机的其他连接也不应要求该密码短语)
Jakuje 2015年

谢谢...意味着如果我在配置文件中设置正向代理,则可以不使用-A来ssh吗?请提出建议。
Niks

嗨..当我运行命令$ SSH_AUTH_SOCK时,我得到的结果是:-bash:/tmp/ssh-gT43vE99vk/agent.511:权限被拒绝我在这里感到困惑。天气我的代理转发正常与否。 ?与此同时ssh-add -L,它列出了我添加的SSH密钥。请建议我。
Niks

没有“运行命令$SSH_AUTH_SOCK”。它是环境变量,其中包含Unix域套接字的路径,您显然不能运行它。但是ssh-add可以通过此套接字与您的代理进行通信。我写echo "$SSH_AUTH_SOCK"了这篇文章,以验证您已设置了变量。
2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.