파일 전송 프로토콜(File Transfer Protocol). TCP/IP 네트워크 상에서 컴퓨터들이 파일을 교환하기 위해 사용되는 통신 규약. 즉, 원격 서버에 파일 송수신을 위해 클라이언트가 원격으로 접속할 때 사용하는 프로토콜입니다.
FTP는 비밀번호가 평문(암호화되지 않은 정보)으로 전송되어 보안성이 매우 떨어집니다. 상대적으로 높은 보안성을 가진 TLS 기반의 FTPS나 SSH 기반의 SFTP 사용을 권장합니다.
분류 | Telnet | FTP |
---|---|---|
기능 | 사용자가 원격 서버에 로그인 가능 | 사용자가 원격 서버에 파일 전송 가능 |
사용 포트 | 23 | 제어포트: 21 / 데이터전송: 20 / 패시브 모드: 50000번대 이상 / FTPS : 990(경우에 따라 다름) / SFTP: 22(경우에 따라 다름) |
보안 | 낮은 보안성 | Telnet에 비해 안전 |
원격 로그인 | 시스템 자원 액세스 | 필수 아님 |
HTTP | FTP |
---|---|
서버에 연결 | 서버에 연결 |
서버에 URL 요청 | 파일 업로드, 다운로드, 수정 진행 |
서버가 요청한 페이지의 HTML 소스, 이미지, 파일 등 리턴 | 서버 연결 종료 |
서버 연결 종료 | |
반복적인 연결과 끊음을 사용하여 사용자가 원하는 페이지를 보여줌 | 원하는 파일을 작업하는 동안 지속적으로 서버와 연결 |
기본 포트 : 80 | 기본 포트 : 21 |
FileZilla Server 연결
→ Server Address, Port, password 입력 후 OK
User 생성, Shared Folders 지정
→ User Add, Password 설정 후, Shared folders Page에서 folders 지정 및 파일 권한 부여
FileZilla Client 연동
→ (호스트 : 연결하려는 서버 IP, 사용자명 : 생성한 Users account, 비밀번호 : User account 비밀번호, 포트 : 미입력시 기본 포트 21 사용) 연동 후 파일 작업 진행
Active mode
1. Client가 FTP 프로그램을 사용하여 Server에 접속 (기본 포트 21 사용)
2. Client가 Server에 응답 (Client 접속 포트 5150, 데이터 전송 포트 5151 사용)
3. Server가 Client에게 Client의 5151 포트로 데이터를 전송하겠다는 응답
4. Client가 응답 후 데이터 수신
Client만 FTP Server에 접속할 뿐만 아니라 Server도 Client의 포트에 접속하여 데이터를 송신합니다. 때문에 Client에서도 해당 포트를 설정하거나 NAT 환경의 경우 포트 포워딩이 필요합니다.
Passive mode
1. Client가 Server에 접속
2. Server에서 데이터 전송에 사용할 별도의 포트를 Client에게 안내
3. Client는 안내받은 포트로 데이터 전송 요청
4. Server가 응답 후 Client에게 알려준 포트로 데이터 전송
Passive mode는 Client가 FTP Server에서 알려준 별도의 포트로 데이터를 전송받기 때문에 방화벽, 포트 포워딩같은 별도의 설정이 필요 없습니다.
[
{
"name": "localhost",
"host": "111.123.0.23",
"port": 21,
"type": "ftp",
"username": "guest",
"password": "9876",
"path": "/",
"autosave": true,
"confirm": true
}
]
# host, username, password → FileZilla Server Users account 사용