スケッチを描いた
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)など)に表示されます。