SSH経由でAWSに接続するスクリプトがあります。スクリプトの内容は非常に簡単です。
#! /bin/bash
ssh -i private_key.pem [email protected]
端末でこのスクリプトを実行します。
./connect
だから私はこのAWSに接続しました。
私がやりたいことは、1つのAWSを2番目のAWSに接続することです。デフォルトでは、スクリプトを実行した後、次のように入力できます。
ssh second_aws
ただし、スクリプトを実行すると、端末が次のように2番目のAWSに接続するようにスクリプトを実行したいと思います。
#! /bin/bash
ssh -i private_key.pem [email protected]
ssh second_aws
ただし、実行すると1つのAWSに移動し、2番目のAWSには接続されません。
このスクリプトをどのように使用して端末で実行すると、私の端末は2番目のコンピュータに接続されますか?
答え1
ssh
シェルを提供する代わりに、最初のホストにコマンドを実行するように指示することを検討してください。
ssh -t -i private_key.pem [email protected] ssh -t second_aws
答え2
あなたがしたことは、AWSインスタンスへの2番目の接続を開かなかったことです。起動スクリプトの場所で接続を開きます。
このオプションを見つける必要がありますProxyJump
。複数のSSH接続を接続できます。
以下はページから抜粋したものですman
。
ProxyJump
Specifies one or more jump proxies as either [user@]host[:port] or an ssh URI. Multiple proxies may be separated by comma characters and will be visited sequentially. Setting this option will cause ssh(1) to connect
to the target host by first making a ssh(1) connection to the specified ProxyJump host and then establishing a TCP forwarding to the ultimate target from there.
Note that this option will compete with the ProxyCommand option - whichever is specified first will prevent later instances of the other from taking effect.
Note also that the configuration for the destination host (either supplied via the command-line or the configuration file) is not generally applied to jump hosts. ~/.ssh/config should be used if specific configuration
is required for jump hosts.