2017-03-12 11 views
1

私の大学のプロキシサーバー上のsshを研究所のサーバーの1つに接続しようとしています。目標はparamikoで自動化することですが、まずターミナルレベルで何が起きているのかを理解しようとしています。ssh ProxyCommandが失敗しました:「禁止されたchar/SSH overコマンド」

私は

ssh -o ProxyCommand='ssh [email protected]_server nc inner_server 22' [email protected]_server 

を試してみましたが、私は、サーバーがProxyCommandを許可しないことを推測

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

を得ました。

これを別の方法で達成する方法はありますか? sshをproxy_serverに、そしてinner_serverにはうまくいきますが、私が目指しているのはparamiko SSHClientインスタンスを生成しません。

+0

SSHゲートウェイでは、任意のコマンドを 'nc'として実行できないようです。どのコマンドが許可されているのか調べてください。 – salva

+0

真。私はncがProxyCommandを使う唯一の方法だと思っていたので、私はサーバーがProxyCommandを許可していないと結論づけました。私は間違っていますか? – Eran

+0

いいえ、 '-W'フラグを使用すると、@Jakujeのベロー(requieresポート転送が可能であるとは考えられません)、または' ssh sshd -i'を呼び出すように、他の方法があります。 – salva

答えて

2

netcatは使用しないでください。おそらくプロキシサーバーでは許可されていません。 -Wスイッチを使用する:

ssh -o ProxyCommand='ssh -W %h:%p [email protected]_server' [email protected]_server 
+0

完全に動作します。ありがとう! – Eran

関連する問題