最新の「単なる例」では、 直接アクセスできないサーバー上のサーバーにSSHで接続する(またはWebページを参照するなど)シナリオにいると想像してください。ただし、ボックス(localhost)からそのサーバーに接続できるサーバー(server1)にアクセスできます(そのserver2と呼びましょう)。
そのたわごとをsshトンネルする方法は次のとおりです!
ユーザー名がbobであると仮定しますが、わかりやすくするために、farホスト(server2)でアクセスできる唯一のアカウントはtomと呼ばれます。
localhost
からのトンネル server1
へ およびlocalhost
から server2
へ :
ssh -L 9998:tom@server2:22 -N bob@server1
ssh -p 9998 tom@localhost
最初の行でサーバー1にログインすると、サーバー1がそのまま座ってハングしていることがわかります。それはトンネルが確立されているからです。 ctrl+z
を押すだけです 「bg
」と入力します ‘トンネルを通過するsshに進む前に、sshプロセスをバックグラウンドで処理します。
非常に安全なものにする場合は、追加のフープが必要です。この例では、ローカルホストからサーバー1へのトンネルを開き、サーバー2のSSHサービスを使用できます。次に、localhost
から2番目のトンネルが開かれます host2
へ 最初のトンネルを通過します。
ssh -L 9998:tom@server2:22 -N bob@server1
ssh -L 9999:tom@localhost:1234 -N -p 9998 localhost
その他の例と説明を含む優れたリンクは次のとおりです。
http://blog.trackets.com/2014/05/17/ssh-tunnel-local-and-remote-port-forwarding-explained-with-examples.html