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
tsocks
ssh -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