プロキシ経由のSOCKSによるポート転送

プロキシ経由のSOCKSによるポート転送

あるドメイン内のサーバーで実行されている wiki を別のドメインから参照しようとしています。 wiki は LAN 上でのみアクセス可能ですが、SSH トンネルで接続している別の LAN から参照する必要があります...

これまでに行った設定と手順は次のとおりです。

~.ssh/confingの上wikihost

Host gateway
  User kisteuser
  Port 443
  Hostname gateway.companydomain.com
  ProxyCommand /home/myuser/bin/ssh-https-tunnel %h %p
  # ssh-https-tunnel:
  # http://ttcplinux.sourceforge.net/tools/stunnel
  Protocol 2
  IdentityFile ~/.ssh/key_dsa
  LocalForward 11069 localhost:11069

Host server1
  User kisteuser
  Hostname localhost
  Port 11069
  LocalForward 8022 server1:22
  LocalForward 17001 server1:7100
  LocalForward 8080 www-proxy:3128
  RemoteForward 11069 localhost:22

からwikihost

myuser@wikihost: ssh -XC -t gateway.companydomain.com ssh -L11069:localhost:22 server1

別の端末で:

ssh gateway.companydomain.com

さて、私の会社のドメインで Firefox を起動して wiki を閲覧したいと思いますwikihost。私は次のようにしました:

[email protected] ~ $ ssh gateway
Have a lot of fun...
kisteuser@gateway ~ $ ssh -D 8383 localhost
user@localhost's password: 
user@wikiserver:~> 

私の.ssh/configその側は次のようになります:

host server1
    localforward 11069 localhost:11069

host localhost
    user myuser
    port 11069

host wikiserver
    forwardagent yes
    user myuser
    port 11069
    hostname localhost 

ここで、 というサーバーで Firefox を起動しgateway、プロキシ設定を編集して SOCKSv5 を使用し、プロキシがgatewayポート 8383 を使用するように指定しました...

kisteuser@gateway ~ $ LANG=C firefox -P --no-remote

そして、ターミナルに次のエラーが表示されますwikiserver:

myuser@wikiserver:~> channel 3: open failed: connect failed: Connection refused
channel 3: open failed: connect failed: Connection refused
channel 3: open failed: connect failed: Connection refused

混乱していますか?私もです...

トンネルを適切に構築し、SOCKS プロトコル経由で wiki を閲覧する方法を教えてください。

アップデート:

以下の変更を加えることで、Wiki サーバー上の Wiki を閲覧できるようになりました。

host wikiserver
    forwardagent yes
    user myuser
    port 11069
    hostname localhost 
    localforward 8339 localhost:8443

ここで、sshgatewayで Firefox を起動し、localhost:8339 に移動すると、ポート 8443 で提供されている wiki の開始ページが表示されます。

今私は自分自身に問いかけます、靴下は本当に必要なのでしょうか? 誰かこれについて詳しく説明してくれませんか?

答え1

SOCKSを希望通りにセットアップするには、次のssh -D 8383コマンドを実行する必要があります。の上ブラウザを実行したいマシンに接続しますwiki にアクセスできるマシン。manページに記載されているように、デフォルトでは のみをリッスンするlocalhost:8383ため、プロキシ アドレスとして も を使用する必要があります。ssh -Dlocalhost

デフォルトでは、ローカルポートはGatewayPorts設定に従ってバインドされます。ただし、明示的なbind_addressを使用して、接続を特定のアドレスにバインドすることもできます。

したがって、gatewayが にアクセスできるwikihostが、 でブラウザを実行したい場合はkiste、 で firefox を実行しkiste、SOCKS プロキシとして「localhost:8383」を設定して、ssh -D 8383 gatewayからも実行する必要がありますkiste

他に留意すべき点がいくつかあります:

すべての ssh コマンドを で実行してみてください-v。これにより、要求されているすべての転送が表示され、どれが失敗しているのかを正確に確認できます。

状況をより混乱させないために、実際には必要のないトンネルを取り除くこともお勧めします。

表示されているエラーメッセージは、何かがネットワークの一方の端に接続しようとしたときに発生します。静的SSH トンネル (または を使用して作成-L)-Rですが、SSH はトンネルのもう一方の端に接続できません。

関連情報