スケッチを描いた
sshトンネルコマンドが入力されるマシンは、「ホスト」と呼ばれます。
前書き
地元: -L Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side.
ssh -L sourcePort:forwardToHost:onPort connectToHost
つまり、sshを使用してに接続しconnectToHost
、すべての接続試行をと呼ばれるマシンのローカルの sourcePort
ポートonPort
に転送します。forwardToHost
これは、connectToHost
マシンから到達できます。
リモート: -R Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side.
ssh -R sourcePort:forwardToHost:onPort connectToHost
つまり、ssh to connectToHost
で接続し、すべての接続試行を、ローカルマシンから到達できると呼ばれるマシンのリモート sourcePort
ポートonPort
に転送forwardToHost
します。
あなたの例
ええと、X転送を機能させたいだけの場合、つまり自宅のコンピューターでXアプリケーションをいくつか実行し、それらをリモートシステムに表示させます(職場にある可能性があるため、これを「仕事用コンピューター」と呼びましょう)。 sshトンネルはまったく必要ありません。
トンネルなしで Xアプリケーションを起動する
仕事用のコンピューターから自宅のコンピューターにSSHで接続できますか?もしそうなら、あなたがしているとき、仕事用のコンピュータ上に座っやXアプリケーションを開始したい自宅のコンピュータ上で実行されますが、あなたの仕事のコンピュータ上displayesを、あなたは(仕事用のコンピュータ上で)を入力する必要があります。
ssh -X homeuser @ homecomputer firefox
これにより、自宅のコンピューターでFirefoxが起動し、このコマンドを入力したマシン(職場のコンピューターなど)に表示されます。
隠しコンピュータにはトンネルが必要
これは私のスケッチの画像番号3です。ホームコンピューターは、ファイアウォールの背後にあるか、NATを介して(ルーターから)隠されているため、インターネットから直接到達できないことがよくあります。その後、トンネルを使用できます。
あなたに青い自宅のコンピュータ(yourhost
)次のように入力します。
ssh -R 5555:localhost:22 remoteuser@remotehost
画像5555
の緑色のポートと22
ピンクのポートはどこですか。
職場で、で、remotehost
緑色のポートに接続している5555
場合、接続はトンネリング/ホームコンピューターのピンクポートlocalhost
(つまり、青色のホームコンピューター自体)に転送されます。次に、仕事用のコンピューターに入力する必要があります。
ssh -X -p 5555 homeuser@localhost firefox
これにより、自宅のコンピュータ(yourhost
)でFirefoxが起動し、このコマンドを入力したマシン(職場のコンピュータ(remotehost
)など)に表示されます。