sshの-Lオプションの意味は?

ssh コマンドの -L オプションは、「ローカルポートフォワーディング」を設定するために使われます。このオプションを使用すると、SSH トンネルを通じてローカルホストのポートをリモートのサーバーに接続することができます。

-L オプションの構文

ssh -L [ローカルポート]:[リモートホスト]:[リモートポート] [SSHサーバー]
  • ローカルポート: ローカルマシンで使用するポート番号です。通常、localhost に対して開かれるポートです。
  • リモートホスト: SSHサーバーからアクセス可能なリモートホストのアドレスです。localhost でも、別のサーバーでも指定できます。
  • リモートポート: リモートホスト上でアクセスしたいポート番号です。
  • SSHサーバー: SSHトンネルを確立するサーバーのアドレスです。
動作の仕組み

このオプションを使うと、以下のような動作になります。

  1. ローカルホストでの接続: ローカルの指定したポート(ローカルポート)に接続すると、リクエストがSSHを通じてリモートのホスト(リモートホスト)に転送されます。

  2. リモートのリソースにアクセス: トンネル内では、リモートの指定されたホストとポート(リモートホスト:リモートポート)に接続されるため、まるでローカルマシンから直接リモートリソースに接続しているかのように通信が行われます。

例:

ssh -L 8080:example.com:80 user@remote-server

このコマンドでは、以下のことが起こります。

  • ローカルマシンの localhost:8080 にアクセスすると、リモートサーバー remote-server 経由で、example.com:80 (HTTPサーバー)に接続します。
用途
  • リモートサーバーへの安全な接続: ローカルホストから直接接続できないリモートのサービスにアクセスするときに、SSHトンネルを使って安全に通信できます。
  • ファイアウォールやネットワークの制約を超える: 外部から直接アクセスできない内部のリソース(データベース、ウェブサーバーなど)に、SSHトンネルを経由してアクセスすることが可能です。

-L オプションを使うことで、安全にリモートのリソースにアクセスできる便利な手段が提供されます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です