ジャンプホストを使用してリモートサーバーにアクセスする方法


ジャンプホストジャンプサーバーとも呼ばれる)は、リモートネットワークへの中間ホストまたはSSHゲートウェイです。たとえば、非武装地帯( DMZ )など、異なるセキュリティゾーン。 2つの異なるセキュリティゾーンを橋渡しし、それらの間の制御されたアクセスを提供します。

ジャンプホストは、特にプライベートネットワークとインターネット上のユーザーにサービスを提供するサーバーがある DMZ にまたがる場合は、高度にセキュリティ保護され監視されるべきです。

典型的なシナリオは、デスクトップやラップトップから会社の内部ネットワークの内部に接続することです。これは、ファイアウォールでDMZに非常に安全です。 DMZ内のサーバーを簡単に管理するために、ジャンプホストを介してアクセスできます。

この記事では、ジャンプホストを経由してリモートのLinuxサーバーにアクセスする方法を説明します。また、ユーザーごとのSSHクライアント設定で必要な設定を行います。

次のシナリオを考えます。

上記のシナリオでは、 HOST 2 に接続する必要がありますが、ファイアウォール、ルーティング、およびアクセス権限のため、 HOST 1 を通過する必要があります。ジャンプ台が必要な理由はたくさんあります。

動的Jumphostリスト

ジャンプホストを介してターゲットサーバーに接続する最も簡単な方法は、コマンドラインから -J フラグを使用することです。これにより、sshはジャンプホストに接続し、そこからターゲットサーバーへのTCP転送を確立します(マシン間でパスワードなしのSSHログインを使用していることを確認します)。

$ ssh -J host1 host2

コンピュータのユーザー名またはポートが異なる場合は、表示されているように端末でそれらを指定します。

$ ssh -J [email protected]:port [email protected]:port	  

複数のJumphostsリスト

同じ構文を使用して複数のサーバーにジャンプすることができます。

$ ssh -J [email protected]:port,[email protected]:port [email protected]:port

静的Jumphostリスト

静的なJumphostリストとは、マシンを接続する必要があることを Jumphost または Jumphost を知っていることを意味します。そのため、〜/ .ssh/config ファイルに次の静的jumphostの「ルーティング」を追加し、表示されているようにホストエイリアスを指定する必要があります。

### First jumphost. Directly reachable
Host vps1
  HostName vps1.example.org

### Host to jump to via jumphost1.example.org
Host contabo
  HostName contabo.example.org
  ProxyJump contabo

次に示すように、ジャンプホストを介してターゲットサーバーに接続します。

$ ssh -J vps1 contabo

2番目の方法は、 ProxyCommand オプションを使用して〜.ssh/config または/home/mialに jumphost 設定を追加することです示されているように/.ssh/config ファイル。

この例では、ターゲットホストは contabo jumphost vps1 です。

Host vps1
	HostName vps1.example.org
	IdentityFile ~/.ssh/vps1.pem
	User ec2-user

Host contabo
	HostName contabo.example.org	
	IdentityFile ~/.ssh/contabovps
	Port 22
	User admin	
	Proxy Command ssh -q -W %h:%p vps1

コマンドプロキシコマンドssh -q -W%h:%p vps1 は、sshをクワイエットモード( -q を使用)および標準転送( -W )モードでは、中間ホストを介して接続をリダイレクトします( vps1 )。

次に、表示されているようにターゲットホストにアクセスしてみます。

$ ssh contabo

上記のコマンドは、まず ProxyCommand の影響を受けるバックグラウンドで vps1 へのSSH接続を開き、その後、ターゲットサーバーへのSSHセッションを開始します contabo < /強い>。

詳細については、sshのマニュアルページを参照するか、またはOpenSSH/Cookbxook /プロキシとジャンプホストを参照してください。

それは今のところすべてです!この記事では、ジャンプホストを介してリモートサーバーにアクセスする方法を説明しました。下記のフィードバックフォームを使用して、質問したり、ご意見をお寄せください。