SOCKSプロキシ経由のSSHですか?(クライアント= OpenSSH OS X)


11

この質問がここServerFaultまたはSuperUser以上で最も適しているかどうかはわかりません。論理的に考えると、これはsysadminの質問だと思うので、ここに置いておきます。MODが移動する必要があるとModが考えた場合は、誤解して謝罪してください!

とにかく、私はサーバーをオフサイトに置いており、HTTPプロキシまたはSOCKS 4/5プロキシを経由しない限り、ネットにアクセスできないプライベートIPで立ち往生しています。私はOS Xを実行しています。ターミナルからsshコマンドを実行して、これらの2つのプロキシのいずれかを経由してリモートサーバーにアクセスしたいと思います。リモートサーバーのSSHポートは非​​標準ですが、それが大きな違いを生むとは思えません。

回答:


5

私はこれが古い投稿であることを知っていますが、この答えはまだ役立つと思います:

これは、NetCat(nc)を使用したSOCKSプロキシを介して非常に簡単に行うことができます。〜/ .ssh / configに2つの行を追加するだけです。1つはプロキシするホストを指定し、もう1つはnc経由で接続する方法を指定する行です。そのようです:

〜/ .ssh / config:(OSXでテスト済み、Linuxでも動作するはずです)

Host 10.*
    ProxyCommand nc -X 5 -x PROXY_HOST:1080 %h %p

「PROXY_HOST」を設定に適したものに置き換えます。

これにより、sshは、ターゲットホストへのTCP接続を直接開く代わりに(この場合、「10。」で始まるすべてのもの-IPまたはホスト名にすることができます)、指定されたオプションを使用して「nc」コマンドを実行し、実際にTCP接続を確立すると、SSHが残りの処理を行います。とても便利な。

「5」はSOCKSバージョン、「1080」はプロキシポート、「%h」SSHはコマンドラインで入力したホストに、「%p」SSHはコマンドラインからのポート(またはデフォルト) 22)。


7

はい、これは可能です。1つの例については、このサイトを参照してください。

基本的には、ローカル~/.ssh/configファイルを使用して(または/etc/ssh/ssh_configシステム全体で使用する必要がある場合)ProxyCommand、プロキシを経由してアクセスする必要があるホストのディレクティブを指定します。

nc彼らがそのサイトで言及しているソフトウェアの代わりに(OS Xに付属している)を使用することもできます。

詳細については、ssh_config(5)およびのnc(1)マニュアルページを参照してください。


1
残念ながら、リンク先のページは古く、パッチを適用したバージョンのバイナリへのリンクは無効です-404エラー。
バートB

1
これはなんて恥ずかしいことでしょう-私は自分のブログで、OS X 10.7 Lionでまだコンパイルされ、動作するプロキシコマンドへのリンクを見つけました!私の弁護では、ポストは6歳ですが、まだです。ここでの作業手順:bartbusschots.ie/blog/?p
Bart B

2
@BartB「1週間以上前に書いたものは、他の誰かが書いたものかもしれません。」-これはプログラミングの公理ですが、システム管理者やブロガーにも当てはまります。
voretaq7 2011

3

少し遅れますが、SSHコマンド自体で-oフラグを指定して他の回答を使用できることに注意してください。これは私にとって便利でした。プロキシを使用する必要がある場合とない場合があるので(どのオフィスにいるかによって異なります)、実際にssh構成ファイルを編集する必要はありません。

ssh -o "ProxyCommand nc -X 5 -x myproxy:myproxyport %h %p" myuser@cantaccessthiswithoutproxy.com
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.