Linux の SSH クライアントはプロキシを介してホストに接続します。

Linux の SSH クライアントはプロキシを介してホストに接続します。

本当に大変です。

私のホスト(A)はプロキシ/ファイアウォール(PF)の後ろにあり、ホストHに接続する必要があります。

プロキシにはHTTP / FTP / SOCKプロキシが設定されており、Webブラウザ、wgetなどで設定することに問題はありません。

ところで使ってみると…

ssh H //to connect my host 

プロキシを通過できませんでした。 PFを介さずに直接接続しようとしているようです。

Ubuntu 12.10を使用しています。

答え1

sshデフォルトのクライアントサポートはありません。たとえば、次のようにするにはSOCKSaを使用する必要があります。ProxyCommandsocat

ssh -o ProxyCommand='socat - SOCKS4A:myproxy:%h:%p,socksuser=nobody' user@host

または、TCPトラフィックにSOCKSを透過的に使用するか、tsocks同じdanteものを使用します。socksify

socatSOCKS5の場合は2です。

ssh -o ProxyCommand='socat - "SOCKS5:%h:%p|tcp:myproxy:1080"' user@host

2を使用するHTTPプロキシCONNECTメソッドの場合socat

ssh -o ProxyCommand='socat - "PROXY:%h:%p|tcp:myproxy:80"' user@host

答え2

確認するボトルピッグまたはプロキシトンネル(一部のネットワークのローカルポリシーは、プロキシを介したSSHトンネリングを禁止します。)

答え3

HTTP プロキシ CONNECT メソッドの場合socat

エージェントコマンド:socat - PROXY:myproxy:%h:%p,proxyport=myproxyport

関連情報