개발학습기

SFTP(Secure File Transfer Protocol)

afkorigin 2024. 12. 28. 19:39

전체목록

SSH

프로토콜

포트

FTP

세션

  • SFTP란?

SFTP는 SSH 기반의 파일 전송 프로토콜로 네트워크 상에서 데이터를 암호화하여

안전하게 파일을 전송하거나 관리할 수 있도록 설계된 프로토콜이다.

전통적인 FTP(File Transfer Protocol)의 보안 문제를 해결하기 위해 등장했으며,

SSH 프로토콜을 통해 파일 전송을 수행한다.

 

  • SFTP의 주요특징

1. 보안성

SSH를 사용해 모든 데이터 전송(파일, 명령, 인증 정보 등)을 암호화한다.

 

데이터가 암호화되므로 중간에서 도청이나 정보 탈취를 방지할 수 있다.

 

2. 포트

SFTP는 기본적으로 SSH와 동일한 포트(22번)를 사용한다.

 

따로 설정하지 않아도 SSH서버가 설치되어 있으면 SFTP 기능도 함께 제공된다.

 

3. 기능 

파일 업로드 및 다운로드

디렉토리 생성, 삭제, 이동

파일 이름 변경

파일 및 디렉토리 권한 변경 등

 

4. 차이점 FTP vs SFTP

 

FTP

보안: 암호화 없음

포트: 기본 포트 21사용

속도: 상대적으로 빠름

설정: 별도 FTP 서버 필요

 

SFTP

보안: SSH를 통한 암호화

포트: 기본 포트 22사용

속도: 암호화로 인해 약간 느림

설정: SSH 서버만 있으면 설정 불필요

 

 

  • SFTP 명령어 사용법

1. SFTP로 서버에 접속

SFTP 클라이언트에서 원격 서버로 연결

sftp username@server

 

2. 로컬에서 서버로 파일 업로드

put /local/path/file.txt/ remote/path/

 

/local/path/file.txt: 업로드할 파일의 경로

/remote/path/: 서버에서 저장할 위치

 

3. 서버에서 로컬로 파일 다운로드

get /remote/path/file.txt /local/path/

 

/remote/path/file.txt : 서버에서 다운받을 파일경로

/local/path/ : 로컬에서 저장할 위치

 

 

  • 기본 명령어

접속 후 사용할수 있는 명령어

 

ls: 현재 디렉토리의 파일 목록보기

cd <directory> : 디렉토리 변경

pwd : 현재 경로 표시

get<file> : 서버에서 로컬로 파일 다운로드

put<file>: 로컬에서 서버로 파일 업로드

mkdir<dir>: 디렉토리 생성

rm<file> : 파일 삭제

exit: SFTP 세션 종료

 

  • SFTP의 장점

1. 안전한 파일 전송

데이터와 인증 정보가 암호화되어 네트워크 상의 위험으로부터 보호된다.

 

2. 통합된 SSH기반

별도의 파일 전송 서버 설치가 필요 없으며 SSH 서버만 있으면 바로 사용할 수 있다.

 

3. 다양한 파일 관리 기능

단순 파일 전송뿐만 아니라 디렉토리 생성, 삭제, 권한 변경 등의 작업도 지원한다.

 

  • SFTP를 사용할수있는 도구

1. CLI(Command Line Interface)

Linux 및 macOs에서 기본적으로 제공하는 SFTP 명령어 사용

Windows에서는 PowerShell 또는 WSL 에서 사용가능

 

2. GUI 기반도구

FileZila: SFTP와 FPT를 지원하는 파일 관리 프로그램

WinSCP: Windows에서 사용하기 쉬운 SFTP 클라이언트

 

 

  • 정리

SFTP는 간단하면서도 강력한 보안 파일 전송 도구로, 서버 관리나 파일 전송 시

자주 사용되는 프로토콜이다. GUI 도구를 사용하면 더 직관적으로 관리할 수 있으니

필요에 따라 CLI와 GUI를 병행해서 사용하는것이 좋다.

'개발학습기' 카테고리의 다른 글

FTP(File Transfer Protocol)  (0) 2024.12.29
포트(Port)  (0) 2024.12.29
SCP(Secure Copy Protocol)  (0) 2024.12.28
SSH Server  (1) 2024.12.28
프로토콜(Protocol)  (0) 2024.12.28