あるホストから別のホストへのSSH ProxyCommand [閉じる]

あるホストから別のホストへのSSH ProxyCommand [閉じる]

ENVには2つのJumphostサーバーがあり、リモートサーバーにログインし、sshproxyの助けを借りてsshコマンドを実行しようとしています。各場所にssh / confgファイルがあり、Jump2サーバーに入ります。すべてのロケーションサーバーに同時にアクセスできるように構成ファイルをマージしようとしています。

以下のENVノート
ブック--------> Jumphost1 ---------> Jumphost2--------->リモートサーバーを参照してください。

実際、私たちはローカルコンピュータでスクリプトを実行し、出力をローカルに保存する予定です。したがって、このタスクをアーカイブするには、2つのジャンプホストにSSHで接続し、リモートサーバーで次のコマンドを実行する必要があります。これにより、ローカルシステムでスクリプトが実行され、ローカルシステム自体から出力が表示されます。

Jump1はポート2222を介してアクセスでき、ユーザーは同じユーザーです。

ただし、リモートサーバーに接続するには別のユーザー1が必要です。

ssh user1@ip < ./script >> file.txt &&

~/.ssh/config を設定します。

ホストジャンプ1ユーザージャンプ1ユーザーポート2222ホストジャンプ2 ProxyCommand ssh -W%h:%pジャンプ1ユーザージャンプ2userホストRemoveServer ProxyCommand ssh - W%h:%pジャンプ2ユーザーリモートユーザー

上記のファイルを使用すると、Jump2サーバーに問題なくすぐにログインできます。ただし、すべての場所に対して毎回設定ファイルを変更する必要があります。

各ゾーンから情報を収集するためにスクリプトで以下の例のsshコマンドを実行するには、構成ファイルが必要です。

はい

ssh jump2 | ssh user1@remoteserver-ip < ./script >> file.txt &&

ベストアンサー1

この例では、1つのファイルしか使用できないことを願っています。

Host *
    User username
    IdentityFile /home/username/.ssh/identity

Host some*
    ProxyCommand /usr/bin/ssh -p 2222 username@jumphost /usr/bin/nc %h %p 2> /dev/null

Host other*
    ProxyCommand /usr/bin/ssh -p 2222 username@otherjumphost /usr/bin/nc %h %p 2> /dev/null

Host something
    HostName 1.2.3.4

Host somethingelse
    HostName 2.3.4.5

Host otherthing
    HostName 3.4.5.6

おすすめ記事