我试图从我的Mac到Debian服务器获得SSH代理转发工作。 在我的Mac上,我已经证实我有:
SSH_AUTH_SOCK ssh-add -l显示我的身份 ./ssh/config具有启用ForwardAgent的设置 无密码login到远程服务器工作正常。 但是,我的身份没有可用的那里,SSH_AUTH_SOCK是空的。
我想了解这是如何在远程环境中设置的,我错过了什么使它工作?
更新:
我的服务器在sshd_config中设置为AllowAgentForwarding=yes ,在ssh_config中设置为ForwardAgent=yes 。
我发现一些教程,build议运行eval ``ssh-agent eval ``ssh-agent ,所以我尝试了,但我怀疑这是为客户端机器。 当我在我的服务器上运行它时,它确实build立了一个SSH_AUTH_SOCK,但是它似乎没有连接回客户端代理,并且显示“代理没有身份”。
在我使用OS 10.6.x的Mac上,我发现代理转发不工作,直到我将我的密钥添加到Apple Keychain,具体如下:
ssh-add -K ~/.ssh/id_rsa
其中~/.ssh/id_rsa包含我的私人ssh密钥
我有一个关于设置ssh主机configuration条目的博客条目, 以简化可能感兴趣的ssh命令行
服务器还必须启用代理转发。
运行代理的客户端需要启用代理转发。 不是服务器。
永远不要在全局启用它,而是在〜/ .ssh / config中以每台主机为基础:
Host myserver.foo.local ForwardAgent yes
或者在连接时使用-A选项:
ssh -A myserver.foo.local