티스토리 뷰

이전에 윈도우 기준으로 연결을 해본 적은 있으나 이번에는 맥으로 EC2 인스턴스에 텍스트에디터를 SFTP로 연결하려고 한다. 

터미널에서 코드를 일일히 확인하기란 여간 성가신 일이 아니다. 

 

패키지 설치

먼저 패키지를 설치해야 한다. 아래의 명령어를 입력하면 Command Palette이 나타난다.

  • 맥: cmd + shift + p
  • 윈도우: ctrl + shift + p

Command Palette

SFTP 패키지 설치

Command Palette에 install package를 입력하고 엔터를 치거나 클릭하면 이번에는 패키지를 검색하는 창이 나타날 것이다. 입력란에 "sftp"를 입력하면 관련 패키지가 나열되는데, 맨 위에 나오는 SFTP 패키지를 선택한다. (이미 설치된 패키지는 나타나지 않기 때문에 아래 스크린샷에서는 보이지 않는다.)

패키지 검색창의 모습

설치가 완료되면 아래처럼 File 탭에서 SFTP/FTP가 새로 추가된 것을 확인할 수 있다.

SFTP 패키지가 설치된 모습

로컬 디렉토리 설정

그럼 이제 EC2의 리모트 디렉토리를 다운받을 로컬의 디렉토리를 정해야 한다. 원하는 디렉토리를 만든 후에 해당 디렉토리를 드래그하여  Sublime Text의 왼쪽 공란(아래 스크린샷 참조)에 드롭한다.

붉은 사각형 안으로 폴더를 드래그앤드롭한다.

그러면 아래처럼 가져다 놓은 디렉토리가 추가될 것이다.

SFTP 설정

그럼 이제 가장 중요한 SFTP 설정을 할 차례이다. 끌어다 놓은 디렉토리에서 마우스 우클릭을 하고 아래처럼 SFTP/FTP -> Map to Remote를 클릭한다. 그러면 sftp-config.json이라는 파일이 새로 생성될 것이다. 

sftp-config.json은 기본적으로 아래와 같은 json 구조를 가지고 있다. 이 파일을 이제 우리 설정에 맞게 수정해야 한다.

sftp-config.json

여기서 필수적으로 수정할 항목은 아래와 같다.

sftp-config.json에서 수정할 항목들, "ssh_key_file"은 주석처리를 해제할 것

  • "upload_on_save": true => Sublime Text에서 파일을 저장하면 수정된 파일이 리모트로 업로드되게 하겠다는 설정이다.
  • "host": "123.123.123.123" => EC2의 IP 주소를 입력하면 된다. 
  • "user": "ubuntu" => 내 경우 인스턴스의 OS가 우분투이기때문에 "ubuntu"라고 입력한다. (AWS에서 기본 설정해둔 user 값)
  • "ssh_key_file": "local key file 위치" => 터미널에서 SSH를 통해 인스턴스에 접속할 때 사용하는 키파일의 위치를 지정한다. (정확한 위치 확인하는 법은 글 아래에서 확인)
    • 주석처리는 꼭 해제해야 한다.
    • 윈도우의 경우 키파일을 putty에서 사용하는 .ppk 확장자 파일을 사용한다.
    • 맥기준 나의 경우는 아래와 같은 모습이다.
      • "ssh_key_file": "/Users/woogear.kwon/Documents/aws/aws_password.pem" 

 

파일을 저장하고 이제 접속을 해보자. 아까처럼 왼쪽의 폴더에서 마우스 우클릭하고 SFTP/FTP -> Sync Remote -> Local을 따라가 클릭한다. 그러면 접속 결과가 하단에 콘솔창을 통해 나타날 것이다. 리모트 폴더의 파일이 많을 수록 시간이 좀 걸린다. 그리고 준비가 되면 폴더의 파일을 다운받을 건지 확인하는 팝업창이 나타날 것이다. "YES"를 클릭하면 파일들을 다운받기 시작한다. 

Sync Remote -> Local (리모트의 파일들을 로컬로 다운받겠다는 의미)

 

만약 접속이 안된다면

  • ip주소가 정확한가 확인하자. 인스턴스의 주소는 AWS콘솔의 EC2 항목에서 확인할 수 있다. (아래 예시)

AWS 콘솔에서 인스턴스의 IP주소 확인

  • 키파일의 위치를 확인
    • 파일 위치 확인 팁 : 맥의 경우 파일의 정확한 위치를 보려면 터미널을 열어놓고 finder에서 해당 파일을 터미널로 드래그앤드롭하면 터미널에서 파일의 위치가 표시된다. 매우 간단하다.

만약 파일 저장 시 업로드가 안된다면

  • 인스턴스의 해당 폴더가 쓰기(write)을 허용하지 않기때문일 수 있다. 폴더의 권한을 확인해보자.

 

후기

평생 윈도우만 사용하다가 맥을 사용한지 1년이 좀 안되었다. 이제 맥OS의 대부분의 환경에 익숙해졌으나 아직 어색한 부분이 바로 디렉토리이다. 이 부분 때문에 키파일의 위치를 잘못 지정하는 바람에 초반에 계속 연결이 되지 않았다. 윈도우의 경우 C드라이브 D드라이브 이런식으로 디스크가 구분되어있고 "C:\User" 와 같이 디렉토리가 시작된다. 그러나 맥은 윈도우와 달리 디렉토리 주소 앞에 C나 D가 없다. 대신 리눅스와 비슷하게 최상위 디렉토리를 가리키는 "/"로 시작한다. 내 경우 키파일의 위치를 문서 디렉토리 안에 넣어두었기 때문에 정확한 위치는 /Users/woogear.kwon/Documents/... 와 같다.

댓글