macOS에서 VSCode로 aws인스턴스에 ssh 연결하기

·임성혁
수정일: 8/11/2025

aws EC2 인스턴스를 처음 생성했을 때 콘솔에서 제공하는 터미널에 들어가서 작업을 해도 되지만,

파일 하나 확인하거나 수정하려고 cat이나 vi를 입력하고 있으면 화딱지가 절로 난다.

VSCode에서 ssh 연결을 해 작업의 난이도를 낮춰보자.

모든 설명은 macOS 기준이다.

aws에서 인스턴스를 만들 때 보안그룹을 생성했다면 pem 파일이 다운로드된다.

만약 분실했다면.. 새로 키 페어 생성해서 pem 파일을 다운받아오자.

  1. 다운로드한 pem 파일을 ~/.ssh/경로에 옮겨놓는다.

절대 경로로는 /Users/{사용자이름}/.ssh이다.

.ssh폴더는 숨겨져있으므로 finder에서 옮길 때 finder 홈에서 command + shift + '.'을 눌러야 숨겨진 폴더가 보일 것이다.

command + shift + '.'을 다시 누르면 안보이게할 수 있다.

  1. 터미널에서 해당경로로 들어가 키파일 권한을 읽기만 가능하도록 수정해야한다.

    (권한이 더 많으면 permission deny가 발생함)

chmod 400 your-key.pem

터미널 홈에서 cd .ssh를 입력해 옮겨놓은 경로로 이동한뒤 다운 받은 pem 파일 이름에 맞게 바꿔 위의 명령어를 실행한다.

  1. VSCode에서 extension 버튼을 누른다

  1. remote-ssh를 검색해 설치한다. (Microsoft)

    설치 혹은 install 버튼 누르면 된다.

    설치가 완료되면 왼쪽에 모니터처럼 생긴 버튼이 추가되었음을 확인할 수 있다.

    설치완료된 화면
    설치완료된 화면

Remote - SSH 기능을 사용하기에 앞서 SSH 설정 파일을 수정해야한다.

VSCode에 들어가서 아래 절차를 수행해주자.

  1. command + shift + P 를 눌러서 명령 팔레트를 열고 Remote-SSH: Open SSH Configuration File... 을 입력해 선택해준다.

앞글자 조금만 입력해도 상위로 나온다
앞글자 조금만 입력해도 상위로 나온다

  1. /Users/{사용자이름}/.ssh/config를 선택해준다.

  2. config 파일에 아래와 같은 내용을 추가하고 저장한다.

    Host [이름]
      HostName [인스턴스 ip주소 또는 도메인]
      User [사용자 이름]
      port [포트 번호]
      IdentityFile [pem 파일 경로]
    

    예시)

    Host ec2-0-0-0-0.compute-1.amazonaws.com
      HostName 0.0.0.0
      User ubuntu
      port 22
      IdentityFile ~/.ssh/your-key.pem
    

    Host에는 퍼블릭 DNS를 복사해서 넣어준다.

    사실 별칭이기에 아무렇게나 적어도 되지만 쉽게 식별하기 위해 DNS를 이름으로 삼아준다.

    HostName은 퍼블릭 IPv4 주소를 복사해서 넣어준다. 퍼블릭 DNS나 도메인 주소를 사용해도 무방하다.

    User는 인스턴스를 생성할 때 어떤 OS 선택 했냐에 따라서 달라진다.

    기억이 안나면 콘솔에서 터미널 실행해서 볼 수도 있다.

    • Amazon Linux/Amazon Linux 2: ec2-user

    • Ubuntu: ubuntu

    • CentOS: centos

    • Red Hat: ec2-user

    port : ssh 연결이기 때문에 포트번호는 22이다.

    IdentityFile : "your-key.pem"에 본인이 다운받은 pem파일의 이름을 대신 치환해서 넣으면 된다.

  1. 모니터 같은 버튼 누르고 SSH에 마우스를 가져다대면 + 버튼이 보인다. 클릭해준다.

  2. 버튼을 누르면 "SSH 연결 명령 입력" 이라는 창이 뜨는데, 아까 HOST 이름으로 설정한 퍼블릭 DNS를 입력하고 enter키를 누른다.

  3. 좌측 하단을 보면 ssh 연결이 잘 이루어졌음을 확인할 수 있다.

  4. 이후에는 해당 버튼으로 접속하면 된다.

인스턴스를 종료하고 다시 시작하면 ip 주소가 바뀌어 SSH설정을 다시해야한다.

그것이 귀찮다면 EC2 콘솔에서 탄력적 IP를 할당하면 된다.