AWS EC2 인스턴스 SFTP 접속 (MacOS)

lightcat·2022년 9월 9일
0

1. 터미널을 이용한 SFTP 접속

접속

맥북 macOS에 기본적으로 설치되어있는 sftp를 이용하여 접속하는 방법입니다.
개발환경 상 커맨드만 활용하여 sftp를 이용해야할 수도 있을 것 같아 알아보았습니다.

sftp 커맨드 동작여부를 sftp localhost 명령어를 통해 알아볼 수 있습니다.

sftp로 연결을 시도하려고 하다가 실패가 나는것으로 보이는데, 연결을 정상적으로 확인하려면 MacOS 환경설정에서 원격 서비스를 허용해주어야 한다고 합니다.
참고 링크 : https://nexpert.tistory.com/590


sftp 설치는 되어있는 것은 확인했으니 AWS 인스턴스 접속 시도를 해보겠습니다.

AWS EC2 인스턴스에 SFTP 접속 명령어는 아래와 같습니다.

sftp -i [PEM KEY] [AWS 퍼블릭 DNS]

보안설정을 하지 않은 개인서버의 경우 sftp [계정명]@[서버IP] 를 이용하지만,
AWS 인스턴스에 접근하는 경우 보안연결을 사용하므로, 아마존에서 제공하는 PEM 키파일도 같이 넣어주어야 합니다.
PEM 키파일을 같이 입력해주지 않으면 아래와 같이 접속 오류가 납니다.

sftp -i [PEM KEY] [AWS 퍼블릭 DNS] 로 시도하면 아래와 같이 접속되는 것을 확인할수 있습니다.


파일 옮기기

sftp 서버에 접속했다면, pwd ls -al cd 와 같은 명령어를 사용하여 원격서버의 파일상태와 현재 위치를 알수 있습니다.

현재 로컬PC의 위치와 파일상태를 알고 싶으면 l 을 앞에 붙여 명령을 수행합니다.
ex) lpwd lcd ../

sftp> lpwd
Local working directory: /Users/dhk/DevTools

sftp> lcd ../
sftp> lpwd
Local working directory: /Users/dhk

sftp> lcd DevTools
sftp> lpwd
Local working directory: /Users/dhk/DevTools

sftp> lls -al
total 24
drwxr-xr-x   4 dhk  staff   128  9  9 16:09 .
drwxr-x---+ 24 dhk  staff   768  9  9 16:09 ..
-rw-r--r--@  1 dhk  staff  6148  9  9 15:46 .DS_Store
-r--------@  1 dhk  staff  1674  9  9 06:12 Mac-Elastic.pem

테스트를 위해 PEM 키파일을 AWS EC2 서버로 옮겨보겠습니다.

sftp> lpwd
Local working directory: /Users/dhk/DevTools
![](https://velog.velcdn.com/images/lightcat/post/baea2bdc-88f1-4ddf-90a3-01672f844745/image.png)

sftp> lls -al
total 24
drwxr-xr-x   4 dhk  staff   128  9  9 16:09 .
drwxr-x---+ 24 dhk  staff   768  9  9 16:09 ..
-rw-r--r--@  1 dhk  staff  6148  9  9 15:46 .DS_Store
-r--------@  1 dhk  staff  1674  9  9 06:12 Mac-Elastic.pem

sftp> pwd
Remote working directory: /home/ec2-user

sftp> put Mac-Elastic.pem
Uploading Mac-Elastic.pem to /home/ec2-user/Mac-Elastic.pem
Mac-Elastic.pem        100% 1674   123.3KB/s   00:00

sftp> ls -al
drwx------    3 ec2-user ec2-user      118 Sep  9 07:32 .
drwxr-xr-x    3 root     root           22 Sep  8 22:11 ..
-rw-------    1 ec2-user ec2-user      406 Sep  9 07:01 .bash_history
-rw-r--r--    1 ec2-user ec2-user       18 Sep 30  2021 .bash_logout
-rw-r--r--    1 ec2-user ec2-user      141 Sep 30  2021 .bash_profile
-rw-r--r--    1 ec2-user ec2-user      376 Sep 30  2021 .bashrc
drwx------    2 ec2-user ec2-user       48 Sep  9 02:08 .ssh
-r--------    1 ec2-user ec2-user     1674 Sep  9 07:32 Mac-Elastic.pem

이외에도 원격서버 파일을 관리하기 위한 명령어가 존재합니다.
파일을 삭제 : rm 명령어 이용
권한 변경 : chmod
파일명을 변경하거나 파일위치 이동 : rename

더 많은 명령어가 존재할텐데 익숙해지면 같은 유형의 파일을 대량으로 옮기거나 할때 유용하게 사용할수 있을듯 합니다.
하지만 가시성과 편리성이 좋은 SFTP 클라이언트가 많이 있는데, 굳이 쌩으로 경로 확인해가며, 직접 입력해야하나 싶은 생각이 들긴 하네요..ㅎㅎ

참고링크 : Mac 터미널을 FTP 또는 SFTP 클라이언트로 사용하는 방법


2. SFTP 전용 프로그램을 이용하여 접속

접속

무료로 많이 사용하는 filezilla sftp client를 사용하여 접속해보겠습니다.
AppStore에서 검색하게 되면 유료로 사용하는 Pro 버전만 다운로드 할수 있지만, 공식 홈페이지에 들어가면 무료로 사용할수 있는 MacOS버전을 제공합니다.

다운로드 링크 : https://filezilla-project.org/download.php?type=client


다운로드 후 프로그램을 열고 왼쪽 위 사이트 관리자 메뉴를 클릭합니다.

  • 프로토콜은 SFTP를 선택
  • 호스트는 AWS에서 제공하는 SSH 연결 접속정보를 확인후, [계정명]@[퍼블릭 IPV4 IP] or [계정명]@[퍼블릭 IPV4 DNS]를 입력합니다.
  • 보안연결이기 때문에, 로그온 유형을 키 파일로 선택해주시고, 다운로드 해놓은 PEM 키파일을 첨부합니다.

연결을 하면 EC2 인스턴스에 접속되는 것을 볼 수 있습니다.


다시 사이트 관리자를 열어 확인해보면 자동으로 호스트에 입력했던 사용자명(계정명)이 사용자정보로 옮겨졌음을 확인할 수 있네요. 사용자명(계정명)은 호스트에 붙여 입력해도 되고, 따로 적어도 되는 것 같습니다.


파일 옮기기

SFTP client를 사용하게 되면, 이전에 접속한 정보를 저장할 수 있고, 양쪽 경로에 접속해 드래그 만으로 파일을 옮길 수 있습니다! 편리하네요.

0개의 댓글