ジャンプホスト(ジャンプサーバーとも呼ばれます)は、リモートネットワークへの中間ホストまたはSSHゲートウェイであり、非武装地帯(DMZ)などの異種セキュリティゾーン内の別のホストに接続することができます。 それは2つの異なった保証地帯をつなぎ、それらの間の管理されたアクセスを提供する。
ジャンプホストは、特にインターネット上のユーザーにサービスを提供するサーバーを持つプライベートネットワークとDMZにまたがる場合には、高度に保護され、監視されるべきである。
古典的なシナリオは、ファイアウォールでDMZに高度に保護されている会社の内部ネットワーク内からデスクトップまたはラップトップから接続しています。 DMZ内のサーバーを簡単に管理するには、ジャンプホストを介してアクセスできます。
この記事では、ジャンプホストを介してリモートLinuxサーバーにアクセスする方法を説明し、ユーザーごとのSSHクライアント構成で必要な設定を構成します。
次のシナリオを考えてみましょう。
上記のシナリオでは、ホスト2に接続しますが、ファイアウォール、ルーティング、アクセス権限のため、ホスト1を経由する必要があります。 Jumphostsが必要な理由にはいくつかの正当な理由があります。.
動的Jumphostリスト
ジャンプホストを介してターゲットサーバーに接続する最も簡単な方法は、コマンドラインから-J
フラグを使用することです。 これは、sshにジャンプホストへの接続を確立し、そこからターゲットサーバーへのTCP転送を確立するように指示します(マシン間でパスワードのないSSHログイン
$ ssh -J host1 host2
マシン上のユーザー名またはポートが異なる場合は、次のように端末上で指定します。
$ ssh -J username@host1:port username@host2:port
複数のJumphostsリスト
同じ構文を使用して、複数のサーバー上でジャンプを行うことができます。
$ ssh -J username@host1:port,username@host2:port username@host3:port
静的jumphostリスト
静的jumphostリストとは、マシンを接続するために必要なjumphostまたはjumphostsを知っていることを意味します。 したがって、~/.ssh/config
ファイルに次の静的jumphost’routing’を追加し、示されているようにホストエイリアスを指定する必要があります。
### First jumphost. Directly reachableHost vps1 HostName vps1.example.org### Host to jump to via jumphost1.example.orgHost contabo HostName contabo.example.org ProxyJump contabo
ここで、図のようにジャンプホストを介してターゲットサーバーに接続してみてください。
$ ssh -J vps1 contabo
二つ目の方法は、ProxyCommandオプションを使用して、jumphost設定を~.ssh/config
または$HOME/.ssh/config
ファ
この例では、ターゲットホストはcontaboで、jumphostはvps1です。
Host vps1HostName vps1.example.orgIdentityFile ~/.ssh/vps1.pemUser ec2-userHost contaboHostName contabo.example.orgIdentityFile ~/.ssh/contabovpsPort 22User adminProxy Command ssh -q -W %h:%p vps1
ここで、コマンドProxy Command ssh -q -W %h:%p vps1
は、quietモード(-q
を使用)でsshを実行し、stdio転送(-W
を使用)モードでは、中間ホスト(vps1)を介して接続をリダイレクトすることを意味します。
次に示すように、ターゲットホストにアクセスしようとします。
$ ssh contabo
上記のコマンドは、最初にProxyCommandによって影響されたバックグラウンドでvps1へのssh接続を開き、その後、ターゲットサーバー contaboへのsshセッションを開始します。詳細については、sshのmanページを参照するか、OpenSSH/Cookbxook/ProxiesおよびJump Hostsを参照してください。
それは今のところすべてです! この記事では、ジャンプホストを介してリモートサーバーにアクセスする方法を示しました。 質問をしたり、私たちとあなたの考えを共有するには、以下のフィードバックフォームを使用してください。