SSH ProxyCommand 的问题

Man*_*lP. 3 ssh proxy openssh ssh-keys

我在使用 ssh proxy 命令时遇到一些问题。代理上的身份验证工作正常,但是当我想登录远程主机时,它失败了。问题似乎是,代理尝试使用我的本地 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
Run Code Online (Sandbox Code Playgroud)

Jak*_*uje 5

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

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

有两种出路:

  • 将密钥复制到本地主机并将其配置为使用。

  • 不要使用ProxyCommand并执行简单的操作ssh

    ssh -t proxy ssh host
    
    Run Code Online (Sandbox Code Playgroud)

    它将使用第二个主机的身份验证