Amazon Web Service(AWS) VPC 프라이빗 서브넷 인스턴스 '권한이 거부되었습니다(공개 키).' -osx에서 SSH

Amazon Web Service(AWS) VPC 프라이빗 서브넷 인스턴스 '권한이 거부되었습니다(공개 키).' -osx에서 SSH

NAT 인스턴스를 통해 가상 프라이빗 서버의 프라이빗 서브넷에 있는 Amazon Web Service(AWS) EC2 인스턴스에 연결하고 있는데 다음 오류가 발생합니다.

권한이 거부되었습니다(공개키)

이는 NAT에 연결하고 프라이빗 서브넷 EC2 인스턴스에 SSH를 시도한 후에 발생합니다.

절차:

  1. ~/.ssh/config다음을 사용하여 호스트를 정의합니다 .

    Host my_aws_nat
    Hostname xx.xx.xx.xx
    User ec2-user
    IdentityFile /location/of/my/aws/key_pair.pem
    ForwardAgent yes
    
  2. SSH에서 NAT 인스턴스로 연결 ssh my_aws_nat(성공)

  3. 프라이빗 서브넷의 인스턴스에 대한 SSH - 오류가 발생하는 경우ssh [email protected]

를 사용하여 NAT에서 개인 인스턴스를 ping할 수 있습니다 ping 10.0.X.X. 따라서 보안 그룹 문제가 아니라고 확신합니다. 상담원 전달 문제인 것 같습니다.

현재 연결 중인 인스턴스는 NAT 인스턴스(학습 모드)와 동일한 키 쌍을 사용합니다.

내가 시도한 다른 방법은 다음을 사용하여 NAT에 연결하는 것입니다.

ssh -A [email protected] -i key_pair.pem

다시 말하면 NAT에 올바르게 연결되지만 개인 인스턴스에 연결할 때 동일한 오류가 발생합니다.

ssh-agentMac OS X에서 사용해야 합니까 ?

아니면 동일한 작업을 ForwardAgent yes지정 하면 안 되나요?/.ssh/config

답변1

에 따라이것대답하고이 지침

key_pair.pem다음과 같이 OSX SSH 에이전트에 추가해야 했습니다 .

ssh-add -K /path/to/key_pair.pem

(제 경우에는 암호를 요구하지 않았습니다)

그 후 위에 설명된 두 가지 방법론을 모두 사용하면 모든 것이 잘 작동했습니다.

따라서 질문에 답하려면 다음과 같이 하십시오.

큐: NAT/배스천 호스트를 통해 프라이빗 서브넷 인스턴스에 로그인하려면 Mac OS X에서 ssh-agent를 사용해야 합니까?
ㅏ:

답변2

나에게는 .NET에서 요새(NAT 인스턴스)의 공개 키를 제거하는 데 도움이 되었습니다 ~/.ssh/known_hosts. 원격 배스천 호스트의 키가 변경되고(EIP를 새 인스턴스에 할당하는 경우 매우 자주 발생할 수 있음) StrictHostKeyChecking nossh_config에 추가로 설정된 경우 배스천 호스트에서 AgentForwarding이 비활성화됩니다. 요새 호스트에 로그인하면 경고 메시지도 표시됩니다. 내 입장에서는 아직 읽지 않았을 뿐이야 -.-

따라서 키를 삭제하고 다시 연결하면 현재 키가known_hosts 파일에 추가되고 프라이빗 서브넷의 인스턴스에 연결할 수 있습니다.

관련 정보