このガイドでは、SSH ProxyCommandの使用など、sshクライアントが提供するオプションを使用してプロセスを簡素化する方法を学習します。 コマンド。
関連コンテンツ:
- SSH –sshキーの生成と操作
 
SSHシナリオ
これがsshの設定方法です。
+--------------+       +------------+      +-----------+
| Local machine|   ->  | JumpServer | ->   | Dbserver  |
+--------------+       +------------+      +-----------+ DBサーバーにアクセスするには、中間サーバーであるJumpServerにログインする必要があります。ジャンプサーバーへの最初のログイン
ssh [email protected] 次に、ジャンプサーバーからdbサーバーにログインできます
ssh [email protected] 最新のsshクライアントに-Jオプションを使用する
最新のsshクライアントの場合、-Jオプションを使用すると、ジャンプホストとして使用するホストを指定できます。これがフォーマットです
ssh -J [email protected] [email protected] これは、パブリックジャンプサーバーを使用してリモートに接続する方法です
ssh -J [email protected] [email protected] sshキーを指定する必要がある場合は、次の形式を使用してください:
ssh -J [email protected] [email protected]  -i ~/.ssh/id_server_key -Jオプションが使用できない場合のProxyCommandの使用
古いバージョンのopensshでは、 -J 利用できません。したがって、次の構文を使用します。
ssh -o ProxyCommand="ssh -W %h:%p [email protected]" [email protected] これが私のローカルマシンでの使用方法です
ssh -o ProxyCommand="ssh -W %h:%p [email protected]" [email protected] -i ~/.ssh/id_rsa -Wオプションをサポートしていない最も古いクライアントの場合
この場合、 ssh -tt 指図。 2つのsshコマンドを入力する代わりに、次のオールインワンコマンドを入力できます。これは、ジャンプホストとしてjumpserverと呼ばれるファイアウォールを介してリモートdbserverに接続する場合に便利です。
ssh -tt [email protected] ssh -tt [email protected] 使用法:
ssh -tt [email protected] ssh -tt [email protected] -i ~/.ssh/id_rsa 場所:
- -t sshコマンドに渡されたオプションは、疑似tty割り当てを強制します。これは、リモートマシン上で任意の画面ベースのプログラムを実行するために使用できます。複数の-tt オプションは、sshにローカルttyがない場合でも、ttyの割り当てを強制します。
 
構成を〜/ .ssh/configファイルに保存する
 構成オプションは、~/.ssh/configで定義できます。 ファイル。構成は次のようになります。ProxyCommandを指定します:
Host dbserver
    Hostname 10.70.1.190
    User ubuntu
    ProxyCommand ssh [email protected] -W %h:%p
    IdentityFile ~/.ssh/id_rsa ProxyJumpを使用することもできます
Host dbserver
    Hostname 10.70.1.190
    User ubuntu
    ProxyJump [email protected]
    IdentityFile ~/.ssh/id_rsa 複数のジャンプホストを再帰的にチェーンすることもできます:
Host jumpsrver
    Hostname 13.36.234.247
    User rocky
Host dbserver2
    Hostname 10.70.1.190
    User ubuntu
    ProxyCommand ssh -W %h:%p jumpsrver
    IdentityFile ~/.ssh/id_rsa
Host dbserver3
    Hostname 10.70.1.190
    User ubuntu
    ProxyCommand ssh -W %h:%p dbserver2
    IdentityFile ~/.ssh/id_rsa これを行うと、他のホストを介してプロキシされます
ssh dbserver3