AWS - 프라이빗 서브넷의 인스턴스로 SSH 연결

AWS - 프라이빗 서브넷의 인스턴스로 SSH 연결

나는 가지고있다인스턴스 2개AWS에서. 그 중 하나는퍼블릭 서브넷(요새), 두 번째프라이빗 서브넷.

둘 다 동일한 키 쌍으로 시작되었습니다(.pem파일).

이것이 요새에 연결하는 방법입니다.

ssh -i secret.pem ec2-user@public-ip

잘 작동합니다. 참여했습니다.

이제 프라이빗 서브넷에서 인스턴스를 SSH로 연결하고 싶습니다. 인터넷 검색에서는 상담원을 전달해야 한다고 나와 있습니다.

ssh -A ubuntu@private-ip

하지만 불행하게도 다음과 같은 오류가 발생합니다.

Permission denied (publickey).

누군가 내가 뭘 잘못하고 있는지와 개인 인스턴스를 SSH로 연결하는 방법을 설명해 주시겠습니까? (ping 및 보안 그룹은 괜찮습니다)

답변1

이것이 내가 할 방법입니다:

자신의 노트북에서 ~/.ssh/config를 생성(또는 기존 파일 편집)하고 다음을 추가합니다.

Host [host or ip of the bastion server]
    User ec2-user
    IdentityFile ~/.ssh/pem_file_required_to_connect_to_bastion

Host [host or ip of the bastion server]
    User ec2-user
    IdentityFile ~/.ssh/pem_file_required_to_connect_to_server
    ProxyCommand ssh ec2-user@CHOSEN_HOST -W %h:%p

CHOSEN_HOST를 배스천 서버에 대해 구성한 것과 동일한 호스트로 바꾸십시오.

예:

cat ~/.ssh/config
Host 3.126.138.136
    User ec2-user
    IdentityFile ~/.ssh/itaig.pem

Host 172.31.22.212
    User ec2-user
    IdentityFile ~/.ssh/itaig.pem
    ProxyCommand ssh [email protected] -W %h:%p

  ~/.ssh                                                                                                                                                                               at 02:40:57 PM 
ssh 172.31.22.212
Last login: Sun Aug  8 11:40:41 2021 from ip-172-31-29-253.eu-central-1.compute.internal

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
[ec2-user@ip-172-31-22-212 ~]$

관련 정보