2 つの SSH ホップでコマンドを実行する

2 つの SSH ホップでコマンドを実行する

次のようなAWSのベストプラクティスBastion Machine SSH経由でアクセスできるインフラストラクチャを設定しました。

localhost → bastion → target server

ターゲットサーバーに接続するには、localhostと要塞ボックスにキーファイルがあり、SSHを使用して次のようにジャンプします。

localhost > ssh -i key.pem bastion
bastion > ssh -i key.pem target

のように見えるこの問題関連。 localhostから直接ターゲットサーバーにコマンドを実行するには?

ベストアンサー1

SSH構成でProxyCommandを使用する必要があります。まだ設定していない場合は、~/.ssh/config次をご覧ください。ここ

したがって、次のことをしたいと思います。

  1. SSH 構成で要塞を転送プロキシとして配置します。

  2. ProxyCommandを使用して、要塞からターゲットサーバーへの接続をプロキシします。

簡単な例は次のとおりです。

Host <bastion>
    ForwardAgent yes

Host <target_server>
        User <user>
        Hostname <Ip/Hostname>
        ProxyCommand ssh -q -W %h:%p <user>@<bastion> nc 2> /dev/null
        IdentityFile ~/.ssh/id_rsa

おすすめ記事