> 네트워크 관리 > ftp

ftp: 파일 전송 프로토콜 클라이언트

ftp 명령어는 FTP(File Transfer Protocol) 서버에 접속하여 파일을 업로드하거나 다운로드하는 데 사용되는 명령줄 클라이언트입니다. 오래된 프로토콜이지만 여전히 일부 환경에서 사용되며, 간단한 파일 전송 작업에 유용합니다.

개요

FTP는 인터넷을 통해 한 호스트에서 다른 호스트로 파일을 전송하는 데 사용되는 표준 네트워크 프로토콜입니다. ftp 명령어는 이 프로토콜을 사용하는 클라이언트로, 원격 서버에 접속하여 파일을 목록화하고, 전송하며, 삭제하는 등의 작업을 수행할 수 있습니다. 하지만 FTP는 데이터 전송 시 암호화가 되지 않아 보안에 취약하므로, 민감한 파일을 전송할 때는 SSH를 기반으로 하는 `sftp`나 `scp`를 사용하는 것이 권장됩니다.

주요 특징

ftp 명령어의 주요 특징은 다음과 같습니다.

  • 명령줄 기반의 FTP 클라이언트입니다.
  • 원격 FTP 서버에 연결하여 파일을 전송합니다.
  • 대화형 모드를 통해 여러 명령을 연속적으로 실행할 수 있습니다.
  • 파일 목록 보기(`ls`), 파일 업로드(`put`), 파일 다운로드(`get`) 등의 기능을 제공합니다.

FTP vs SFTP

FTP와 SFTP는 파일 전송 방식과 보안 측면에서 큰 차이가 있습니다.

  • FTP (File Transfer Protocol): 평문(plain text)으로 데이터를 전송하여 보안에 취약합니다. 포트 21을 사용하며, 데이터 전송을 위해 별도의 포트가 필요합니다.
  • SFTP (SSH File Transfer Protocol): SSH(Secure Shell)를 통해 데이터를 암호화하여 전송하므로 안전합니다. 포트 22를 사용하며, 단일 포트로 모든 통신을 처리합니다.

주요 옵션

ftp 명령어는 주로 인자 없이 실행하여 대화형 모드로 진입하거나, 특정 서버 주소와 함께 실행합니다. 대화형 모드에서 사용할 수 있는 내부 명령이 더 중요합니다.

1) 실행 옵션

2) 대화형 모드 내부 명령

생성된 명령어:

명령어를 조합해 보세요.

설명:

`ftp` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

ftp 명령어의 다양한 사용 예시를 통해 기능을 익혀보세요.

FTP 서버에 연결

ftp ftp.example.com

`ftp.example.com` 서버에 연결합니다. 연결 후 사용자 이름과 비밀번호를 입력해야 합니다.

익명 FTP 서버 접속

ftp ftp.example.com
Name: anonymous
Password: your_email@example.com

익명 FTP를 허용하는 서버에 접속할 때는 사용자 이름으로 `anonymous`를 사용하고, 비밀번호는 이메일 주소를 입력합니다.

파일 다운로드 및 업로드

ftp ftp.example.com
... (접속 후)
get remote.txt
put local.txt

서버에 접속한 후 `get` 명령어로 `remote.txt`를 다운로드하고, `put` 명령어로 `local.txt`를 업로드합니다.

여러 파일 업로드 (mput)

ftp ftp.example.com
... (접속 후)
mput *.jpg

`mput` 명령어로 여러 파일을 한 번에 업로드합니다. `mget`도 비슷한 방식으로 사용됩니다.

설치

ftp는 대부분의 리눅스 배포판에 `ftp` 또는 `inetutils-ftp` 패키지로 기본 포함되어 있습니다. 없을 경우 아래 명령어로 설치할 수 있습니다.

Debian/Ubuntu

sudo apt update
sudo apt install -y ftp

RHEL/CentOS/Fedora

sudo dnf install -y ftp

Arch Linux

sudo pacman -S --needed ftp

팁 & 주의사항

ftp 명령어 사용 시 유의할 점들을 정리했습니다.

  • ftp는 보안에 취약하므로, 민감한 정보를 전송할 때는 `sftp`나 `scp`를 사용하는 것이 좋습니다.
  • 대화형 모드에서 `help`를 입력하면 모든 내부 명령 목록을 볼 수 있습니다.
  • 일부 FTP 서버는 패시브 모드(passive mode)를 사용해야 정상적으로 연결될 수 있습니다. `ftp` 명령에 `-p` 옵션을 추가하면 해결되는 경우가 많습니다.

관련 명령어

기능적으로 유사하거나 함께 자주쓰이는 명령어들입니다.


동일 카테고리 명령어