SSH ProxyCommand 的问题

Posted

技术标签:

【中文标题】SSH ProxyCommand 的问题【英文标题】:Problems with SSH ProxyCommand 【发布时间】:2016-11-17 20:52:49 【问题描述】:

我的 ssh 代理命令有一些问题。代理上的身份验证工作正常,但是当我想登录到远程主机时它失败了。问题似乎是,代理尝试使用我的本地 rsa_key 登录,而不是使用存储在代理上的密钥。有没有办法解决这个问题?

这就是我想要的:

本地 -- 本地 rsa --> 代理 -- 代理 rsa --> 主机

我使用的配置文件:

Host 192.168.178.32
HostName 192.168.178.32
User user
Port 22
IdentityFile ~/.ssh/id_rsa.pub

Host 192.168.178.30
HostName 192.168.178.30
User user
Port 22
IdentityFile home/user/.ssh/id_rsa.pub
ProxyCommand ssh -W %h:%p -F ssh_config -p 22 192.168.178

【问题讨论】:

欢迎来到 Stack Overflow!请将您的问题移至Super User。这里是off-topic。 可能重复:***.com/questions/41748491 在这个问题中重复unix.stackexchange.com/questions/295899/… 【参考方案1】:

问题似乎是,代理尝试使用我的本地 rsa_key 登录,而不是使用存储在代理上的密钥。

是的。确实如此。这是设计使然。您不想将私钥复制到代理。代理命令将始终从您的本地主机进行身份验证。

有两种方法:

将密钥复制到本地主机并配置它以供使用。

不要使用ProxyCommand,而是使用简单的ssh

ssh -t proxy ssh host

它将使用来自第二台主机的身份验证

【讨论】:

是的,我现在使用复制方法,效果很好:) 谢谢

以上是关于SSH ProxyCommand 的问题的主要内容,如果未能解决你的问题,请参考以下文章

Git,SSH和ProxyCommand

ssh ProxyCommand 不像常规命令那样工作

相当于 OpenSSH ProxyCommand 的 PuTTY 配置

相当于 OpenSSH ProxyCommand 的 PuTTY 配置

通过 Python 脚本调用 ProxyCommand 时“没有这样的文件或目录”

ssh proxy配置