스크립트를 통해 다른 SSH에서 SSH에 연결

스크립트를 통해 다른 SSH에서 SSH에 연결

SSH를 통해 AWS에 연결하는 스크립트가 있습니다. 스크립트의 내용은 매우 간단합니다.

#! /bin/bash
ssh -i private_key.pem [email protected]

터미널에서 이 스크립트를 실행합니다.

./connect

그래서 이 AWS에 연결했습니다.

제가 하고 싶은 일은 하나의 AWS를 두 번째 AWS에 연결하는 것입니다. 기본적으로 스크립트를 실행한 후 다음을 입력할 수 있습니다.

ssh second_aws

하지만 스크립트를 실행하면 터미널이 다음과 같이 두 번째 AWS에 연결되도록 이 작업을 스크립트에서 수행하고 싶습니다.

 #! /bin/bash
 ssh -i private_key.pem [email protected]
 ssh second_aws

그런데 실행하면 하나의 AWS로 이동하고 두 번째 AWS에는 연결되지 않습니다.

이 스크립트를 어떻게 사용하고 터미널에서 실행하면 내 터미널이 두 번째 컴퓨터에 연결됩니까?

답변1

ssh쉘을 제공하는 대신 첫 번째 호스트에 명령을 실행하도록 지시하는 것을 고려하십시오 .

ssh -t -i private_key.pem [email protected] ssh -t second_aws

답변2

당신이 한 일은 AWS 인스턴스에 대한 두 번째 연결을 열지 않았습니다. 시작 스크립트 위치에서 연결을 엽니다.

이 옵션을 찾아야 합니다 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.

관련 정보