[AWS] macOS에서 EC2 인스턴스 연결하기

ButterFlakes·2022년 1월 15일
0
post-thumbnail

우선 인스턴스부터 만들고 오자

인스턴스를 만들고 왔으면 이제 EC2 인스턴스에 한 번 접속해보자

macOS 역시 윈도우10이나 리눅스처럼 자체적으로 SSH 프로그램을 내장하고 있다.
아래와 같은 명령어를 터미널에 입력하고 ec2에 접속을 시도해보자

ssh -i [pem파일의 경로] [유저 이름]@[EC2 인스턴스의 퍼블릭 IP 주소]

유저 이름을 알아내는 방법은 아래와 같다

우선 자신이 연결하려는 인스턴스를 선택한 다음, 연결을 클릭한다

여기에 뜨는 페이지에서 SSH 클라이언트를 클릭하면 맨 아래쪽 4번에 예시가 적혀있는데 거기 유저이름이 적혀있다

ssh -i "[pem 파일 이름]" ec2-user@[인스턴스의 퍼블릭 주소]

거기에 적혀있는 유저이름을 적으면 된다.

Amazon Linux의 경우엔 ec2-user, Ubuntu의 경우엔 ubuntu 이런 식으로 유저 이름이 다르니 확인해주는 것이 좋다.

블로그 주인장이 퍼블릭 IP 주소가 아니라 프라이빗 IP의 주소를 적었다가 연결이 안되서 2시간을 의미없는 삽질을 했던 적이 있다.
이유 없이 연결이 안되거나 연결시간 초과가 자꾸 뜬다면 본인이 적은 IP 주소가 퍼블릭 IP 주소가 맞는지 확인해보도록 하자

(사진에 오타를 냈는데 ec2-user 부분은 언더스코어(_)가 아니라 그냥 줄(-)이다. 오타를 내지 않도록 조심하자)

근데 접속을 시도하니 'bad permissions' 오류가 뜨면서 접속이 안된다.
사실 이유는 바로 윗 줄에도 적혀있다. 우리가 접속에 필요한 pem 키파일이 사실 다른 유저들도 접근할 수 있어서 그런 것이다.
그럼 AWS에서 다운받은 pem 파일이 다른 사람이 건들 수 없도록 권한을 박탈해버리고 다시 한 번 시도해보자

다음 명령어를 입력해서 다른 사람이 pem 파일을 못건드리게 권한을 박탈해보자

chmod 600 [pem파일]

이제 나만 건드릴 수 있는 파일이 되었다.

다시 한번 EC2 인스턴스에 연결을 시도해보자

이젠 제대로 연결된다.

하지만 계속 ssh -i [pem파일] [유저 이름]@[EC2 인스턴스의 퍼블릭 IP 주소] 커맨드를 입력해서 EC2 인스턴스에 연결하는 건 불편하다.

좀 간단하게 연결할 수 있는 방법을 알아보자

간단하게 연결할 수 있도록 config 만들기

우선 아래 커맨드를 입력해서 ssh 디렉터리로 이동한 다음 vim을 통해 config 파일을 생성하자

cd ~/.ssh
vim config

vim이 열리면 처음 쓰는 사람은 뭘 눌러도 아무 반응이 없어서 당황할텐데 i 키를 누르면 편집이 가능한 모드로 바뀐다
i 키를 눌러 편집모드로 들어간 다음 아래와 같은 내용을 입력해주자

Host [호스트 이름]
    HostName [EC2 인스턴스의 퍼블릭 IP 주소]
    User ec2-user
    IdentityFile ~/.ssh/[pem 파일]

입력을 마쳤다면 esc키를 눌러 편집모드를 나온 다음 :wq를 입력해 저장 후 종료를 해주자

그런 다음 아래의 커맨드를 입력해보자

ssh [호스트 이름]

config 파일에서 Host 옆에 입력한 호스트 이름을 aws_myec2라 입력했다면 ssh aws_myec2 라고 입력해주면 된다.

한번 EC2 인스턴스에 연결해보자

정상적으로 EC2 인스턴스에 연결되었다.

0개의 댓글