파일 전송 프로토콜 및 유용한 툴 소개
파일 전송 프로토콜
네트워크를 통해 파일을 전송하기 위한 규칙과 표준을 정의하는 프로토콜
주로 서버와 클라이언트 간의 데이터 통신을 관리하며, 사용자가 파일을 업로드하거나 다운로드할 수 있게 함
비보안 전송 프로토콜
데이터 전송 시 암호화를 제공하지 않아 보안에 취약함
보안 전송 프로토콜
데이터를 안전하게 보호하기 위한 암호화를 제공
기업 환경에서는 보안이 중요하기 때문에 SCP나 SFTP 같은 보안 프로토콜을 선호하고,
공개 파일 공유와 같은 보안이 상대적으로 덜 중요한 환경에서는 FTP를 사용함
대표적인 파일 전송 프로토콜
FTP (File Transfer Protocol)
- 가장 보편적으로 사용되는 파일 전송 프로토콜
- TCP/IP 프로토콜을 사용함
- 비보안 전송 프로토콜로서, 사용자 이름과 비밀번호를 평문으로 전송하므로 정보 유출에 취약함
- 사용이 간단함
SSH (Secure Shell)
- 네트워크 상에서 안전하고 신뢰성 있게 통신하기 위한 프로토콜
- 공개키 암호화 및 대칭키 암호화를 통해 클라이언트와 서버 간의 인증 및 암호화된 통신을 제공함
- 암호화된 터널을 만들어 데이터를 전송하므로, 데이터가 중간자 공격, 스니핑 등의 보안 위협으로부터 안전함
- 원격으로 다른 컴퓨터를 제어할 수 있음
(원격 컴퓨터에 로그인하여 명령을 실행하거나 파일을 복사, 수정할 때 사용) - FTP에 비해 사용하기에 복잡함
SFTP (Secure File Transfer Protocol)
- SSH 프로토콜을 사용하여 파일 전송을 수행
- SSH를 기반으로하며, 데이터 전송 중에 암호화를 사용
- SSH의 일부로 구현 돼 있으며, 파일 전송 작업에 특화 돼 있음
리눅스 SCP (Secure Copy) 명령어
SSH 프로토콜을 사용하여 로컬 시스템과 원격 시스템 간에 파일을 안전하게 복사할 수 있는 명령어
파일 전송 과정에서 암호화를 사용함
- 리눅스에 SSH 서버가 동작하고 있어야 사용 가능
- 대용량 파일 전송 시 시간이 오래 걸림
scp [옵션] [원본 파일 경로] [대상 파일 경로]
r : 디렉토리 복사
p : 파일 속성 (권한, 타임스탬프 등) 을 보존하여 복사
v : 상세 정보 출력
로컬에서 원격 서버의 특정 디렉토리에 파일을 복사할 경우
scp test.txt [원격유저]@[원격호스트]:[원격디렉토리경로]
scp test.txt testuser@xxx.xxx.xx.x:/home/testuser/
원격 서버에서 로컬 시스템의 디렉토리에 파일을 복사할 경우
scp -r [원격유저]@[원격호스트]:[원격디렉토리경로] [로컬디렉토리경로]
유용한 툴 소개
마지막으로 서버 간의 파일 전송을 UI를 통해서 쉽고 빠르게 할 수 있는 무료 툴을 소개해드리고 마치도록 하겠습니다.
FileZilla
파일질라(FileZilla)는 오픈 소스 FTP(파일 전송 프로토콜) 클라이언트로, 사용자가 파일을 서버와 쉽게 전송할 수 있도록 도와주는 소프트웨어입니다. 주로 웹사이트 관리, 파일 백업, 그리고 대용량 파일 전송에 널리 사용됩니다.
주요 특징
- 다양한 프로토콜 지원: FTP, FTPS(FTP Secure), SFTP(Secure FTP) 등 여러 파일 전송 프로토콜을 지원하여 보안과 유연성 제공
- 사용자 친화적인 인터페이스: 직관적인 드래그 앤 드롭 기능과 분할된 창 레이아웃으로 사용자가 쉽게 파일을 관리 할 수 있음
- 다중 전송 지원: 여러 파일 동시에 전송 가능
- 사이트 관리자: 자주 사용하는 서버 정보를 저장하고 쉽게 접근 가능
- 크로스 플랫폼: Windows, macOS, Linux 등 다양한 운영 체제에서 사용 가능
파일 업로드 및 다운로드 방법
이상으로 파일 전송 프로토콜 및 유용한 툴 소개에 대한 포스팅을 마치겠습니다.
Reference
- yongeekd01.tistory.com
- https://woolfiekim.github.io/etc/sftp/