LinuxでSSHトンネリングを設定する方法

How Setup Ssh Tunneling Linux



SSHポートフォワーディングとして一般に知られているSSHトンネリングは、リモートホスト上の暗号化されたSSHを介してローカルネットワークトラフィックをルーティングする手法です。 SSHトンネルを介してネットワークトラフィックをルーティングすることで、特にFTPなどの暗号化されていないネットワークプロトコルに対して、高レベルのデータ暗号化とセキュリティが保証されます。これは、セキュリティで保護されていないネットワークに接続している場合に特に便利です。

このチュートリアルでは、SSHトンネルを設定し、安全なトンネルを介してトラフィックを安全にルーティングする方法について説明します。 SSHポート転送の3つの方法すべてについて説明します。







  1. ローカルポートフォワーディング
  2. リモートポートフォワーディング
  3. ダイナミックポートフォワーディング

必要条件

このチュートリアルでは、次のものが必要になります。



  1. ローカルマシン
  2. VPSなどのリモートホスト

ローカルポートフォワーディング

このタイプのポート転送を使用すると、ローカルマシンのポートをリモートマシンの特定のポートに転送してから、宛先アドレスに転送することができます。



ローカルポートフォワーディングを使用すると、ローカルマシンは特定のポートでリッスンし、特定のポートへのトラフィックをリモートサーバーで指定されたポートにトンネリングできます。リモートサーバーがトラフィックを受信すると、設定された宛先アドレスに転送されます。





ローカルポートフォワードを作成するには、SSHコマンドに-Lフラグを使用します。

一般的な構文は次のとおりです。



ssh -NS [LOCAL_IP:]LOCAL_PORT:DESTINATION:DESTINATION_PORT[ユーザー@]SSH_SERVER

LOCAL_IPを指定しない場合、ローカルSSHクライアントは自動的にlocalhostにバインドします。また、rootユーザーのみに制限されていないため、1024より大きいポートを指定する必要があります。

ポート5000のマシンmy.serviceで実行されているサービスがあり、マシンaccess.machineでのみアクセスできると仮定します。ローカルマシンからサービスに接続する場合は、接続を次のように転送する必要があります。

ssh -NS 5555:my.service:5000ユーザー@access.machine

コマンドを実行したら、指定したユーザーのSSHパスワードを入力する必要があります。使いやすさのために、SSHキーを使用してパスワードなしのログインを設定できます。

これで、access.machineが中間として機能する指定されたポート(5555)を使用して、ローカルマシンからサービスにアクセスできます。

127.0.0.1:5555