複数のSSHリンク(tsocks、sockify、Proxycommandなど)

複数のSSHリンク(tsocks、sockify、Proxycommandなど)

https://i.stack.imgur.com/YTOvt.png

目的:SSH、SCPを介してクライアントから「直接」「サーバーB」に接続する必要があります。

「サーバーB」は「サーバーA」の隣にあります。例:同じサブネットにありますが、「サーバーA」のみがインターネットからアクセスできるため、「サーバーB」は間接的にのみアクセスできます。


私は靴下の使い方を知っています:

ソックスの取り付け

yum install tsocks

設定してください。 [デフォルトでは設定ファイルはありません。]

vim /etc/tsocks.conf
server = 127.0.0.1
server_port = 4000

SSHトンネルの作成

ssh -v -fND localhost:4000 USERNAME@SERVER-A

作成されたことを確認してください

ps aux | fgrep -i ssh
USER      8894  0.0  0.0   9780   708 ?        Ss   11:58   0:00 ssh -v -fND localhost:4000 USERNAME@SERVER-A
netstat -tulpn | fgrep -i ssh
tcp        0      0 127.0.0.1:4000              0.0.0.0:*                   LISTEN      8894/ssh

ソックスの使い方

tsocks ssh root@SERVER-B

SSHトンネルの終了

kill `pgrep -f 'D localhost:4000'`


私にとって、それはまったく大丈夫です。とても良いです。

質問:複数のSSHトンネル(tsocksなど)を使用する方法は?
私の言葉は、複数のSSHトンネルを使用する必要があるということです(もちろん、別のポートで)。
複数のSSHトンネル(ポート)を「記憶」するようにtsockを設定する方法は?

"/etc/tsocks.conf"ファイルは1つのサーバーのみを許可します。問題ありません。なぜならどこかに ssh トンネルを送信するには 127.0.0.1 を経なければなりませんが、1 ポート = 1 ssh トンネルであるため、より多くのポートが必要だからです。複数のSSHトンネルを1つのポートにバインドすることはできません。
私は「デスクトップコンピュータ」でFedora 14を使用しています。

ありがとうございます!

答え1

tsocksssh -D複数のSOCKSサービスが許可されており、目的の宛先ごとに異なるSOCKSサービスを有効にすることができます(つまり、異なるポートで異なるリスニング)。man tsocks.conf詳細については。

仮定には以下が/etc/tsocks.conf含まれます。

path {
    server = localhost
    server_port = 1081
    reaches = <ip-address-of-server-b>/32
    }
path {
    server = localhost
    server_port = 1082
    reaches = <ip-address-of-server-d>/32
    }

じゃあ君は走るんだ

ssh -fND :1081 server-a & sleep 1 ; tsocks ssh server-b
ssh -fND :1082 server-c & sleep 1 ; tsocks ssh server-d

関連情報