ssh ProxyCommand 失败:"forbidden char/command over SSH"

ssh ProxyCommand fails: "forbidden char/command over SSH"

我正在尝试 ssh 通过我大学的代理服务器,连接到我们实验室的一台服务器。目标是使用 paramiko 使其自动化,但我试图首先了解终端级别发生了什么。

我试过了

ssh -o ProxyCommand='ssh eran@proxy_server nc inner_server 22' eran@inner_server

得到了

*** forbidden char/command over SSH: "nc inner_server 22"
This incident has been reported.
ssh_exchange_identification: Connection closed by remote host

我猜这意味着服务器不允许 ProxyCommand

有什么方法可以用不同的方式实现这个目标吗? 明确一点,ssh 到 proxy_server,然后到 inner_server,工作正常,但不会生成 paramiko SSHClient 实例,这正是我的目标。

不要使用netcat。代理服务器上可能不允许。使用 -W 开关:

ssh -o ProxyCommand='ssh -W %h:%p eran@proxy_server' eran@inner_server