WEB/Backend

SFTP 파일 전송 (VS Code 플러그인으로 원격 서버 파일 전송)

Jerry_K 2024. 10. 3. 23:39

✨SFTP 란 ? 

SFTP (Secure File Transfer Protocol)은 안전하게 파일을 전송하기 위한 프로토콜로,
원격 서버와 클라이언트 간에 데이터를 암호화하여 안전한 파일 전송을 보장한다.
(기본적으로 SSH (Secure Shell) 기반으로 동작)

 

STFP는 데이터 전송 과정에 모든 명령어가 암호화되어 일반적인 FTP보다 안전하다. 

SSH 기반이라 SSH의 포트 (기본적으로 22번)를 통해 통신하고,

파일 업로드, 다운로드, 권한 변경, 삭제, 이동 등의 작업도 가능하다.

 

보통 로컬 파일을 원격 서버에 업로드, 다운로드, 동기화에 사용된다.

 

FileZilla 같은 GUI 기반의 SFTP 클라이언트를 사용해도 되는데,

이번 포스팅에서는 VS Code의 플러그인의 사용에 대해 작성한다.

 

 

 

AWS EC2 서버 세팅 및 배포 / 몽고DB 도메인 연결하기 (A~Z까지) feat. Flask서버, Filezilla,Studio 3T,Gabia

이번 포스팅에서 AWS 인스턴스를 만들고, Flask 서버 배포, 그리고 도메인을 사용한 배포 까지 정리 해볼 예정이다.  📌몽고 DB와 Studio 3T가 설치 되어 있다는 전제로 포스팅 AWS를 처음 사용하면

jerry-k.site

 

해당 포스팅을 따라 해보기 위해서는 기본적으로 AWS의 EC2 인스턴스가 생성되어있어야 한다. 

관련 방법은 위의 포스팅에 작성되어있다. (참고로 위의 포스팅은 FileZilla를 사용함)

기본적인 세팅이 완료되었다고 가정하고 시작해본다.

 

 


🔖 VS Code SFTP 플러그인

 

먼저 git bash에 들어가서 원격 서버와 연결해준다. 

ssh -i 받은키페어를끌어다놓기 ubuntu@AWS에적힌내아이피

 

이런식으로 옆에 "ubuntu@ip- ~~ " 라고 되어있으면 된다.

 

 

 

 

이제 VS Code에 들어가서 SFTP 플러그인을 설치해준다.

 

 

 

 

해당 플러그인을 잘 설치해주면, 

왼쪽 툴바에 위와 같은 아이콘이 새로 생겨진다.

(만일 안 생기는 경우 VS Code를 다시 실행하자.)

 

 

 

이제 .vscode 폴더을 생성해주고, sftp.json 파일을 위와 같이 만들어준다.

 

 

 {
    "name": "mytest",
    "host": "10.10.10.10",  // 서버IP
    "protocol": "sftp",
    "port": 22,
    "username": "ubuntu",  // 서버접속 계정명
    "remotePath": "/home/ubuntu/mytest",  // 서버에 파일이 위치할 폴더경로
    "uploadOnSave": true,
    "privateKeyPath": "/Users/hongildong/sshkey/mykey"  // 키페어파일 경로
}

 

sftp.json 파일에 해당 내용을 복사 붙여넣기 한다.

 

꼭 바꿔야하는 것은 host / privateKeyPath 정도이다. 

host에는 AWS EC2 퍼블릭 IP를 가져오고, 

privateKeyPath에는 키페어 파일 경로를 가져온다,

 

(주의해야 할 것은 파일 경로에 한글이 있으면 안된다 !!)

 

 

 

테스트로 아무 파일은 만들고 저장을 하면,

자동으로 내가 만든 원격 서버로 파일이 전송된다. 

 

 

 

ls 명령어로 확인해보면, 잘 들어온 것을 확인 할 수 있다.

 

vim "파일 이름"

 

해당 명령어로 내부 파일을 들여보면 내용도 잘 들어간 것을 확인 할  수 있다.