Infra

AWS EC2, ssh 쉽게 연결을 위해 ssh config 파일 설정시 발생한 오류ssh: Could not resolve hostname: nodename nor servname provided, or not known 에러 해결

우주개발 2023. 12. 5. 10:46

AWS EC2에서 ssh 직접 연결이 아니라 별명으로 연결하고 싶었다.

~/.ssh/config 파일을 생성해 아래와 같이 파일을 작성했다.

Host [별명]
    HostName [ec2 퍼블릭 IPv4 DNS]
    User ubuntu
    IdentityFile ~/.ssh/ooooo.pem

허나 아래와 같은 오류가 발생했다.

ssh: Could not resolve hostname dgu-timetable: nodename nor servname provided, or not known

1. config 파일과 pem key 권한 설정

chmod 600 ~/.ssh/ooo.pem
chmod 700 ~/.ssh/config

이렇게 했으나, 같은 오류가 발생했다.

2. User의 이름을 변경

블로그를 서칭하면서 찾아보니 ec2-user라고 명시가 되어있어서 처음에는 이렇게 하면 되나보다 싶어서

무작정 따라했으나 되지 않았다. 계속해서 찾아보니 ec2 ubuntu의 user는 rootubuntu라고 한다.

3. 탄력적 IP 할당

이게 마지막 방법인데, 처음에 ec2에 탄력적 IP를 할당하지 않았었다.

별 상관이 없을 줄 알았으나, 이렇게 되었을 때 인스턴스 재시작시 DNS 주소가 유효하지 않게된다고 한다.

따라서 ssh 접속 문제에 있어서 무조건 탄력적 IP를 할당해야하는 것이다.

참조