SFTP
SSH(Secure SHell)프로토콜을 사용하며 ftp와 비슷한 방식으로 데이터를 주고받는다.
동작 과정
- client가 server의 22번 포트로 연결 요청 (client:????? -> server:22)
- client가 server의 22번 포트로 연결 후 데이터 주고 받음
사용 예 - CLIENT
$ sftp 10.0.2.15
username@10.0.2.15's password:
Connected to 10.0.2.15.
sftp> get test.txt
Fetching /home/username/test.txt to test.txt
/home/username/test.txt 100% 5 2.8KB/s 00:00
사용 예 - SERVER
$ netstat -an | grep '10.0.2.15:22'
tcp 0 0 10.0.2.15:22 10.0.2.16:39920 ESTABLISHED
세션 설정
ssh와 같은 세션을 사용하므로 ssh설정파일에서 최대 세션 수를 설정할 수 있다.
/etc/ssh/sshd_config 파일 수정
...
MaxSessions 10
...
FTP(s)
FTP(프로토콜을 사용하며 접속용 포트와 데이터용 포트를 따로 사용
FTPS는 FTP서버에 TLS(SSL)가 설치되어 통신간 암호화 사용
active mode 동작 과정
- client가 server의 21번 포트로 연결 요청 (client:????? -> server:21)
- server가 20번 포트로 client에 연결 후 데이터 주고 받음 (server:20 -> client:?????)
passive mode 동작 과정
- client가 server의 21번 포트로 연결 요청 (client:????? -> server:21)
- client가 server가 제공한 random포트로 연결 후 데이터 주고 받음 (client:????? -> server:?????)
사용 예 - CLIENT
anylink@lsw:~$ ftp 10.0.2.15
Connected to 10.0.2.15.
220 (vsFTPd 3.0.2)
Name (10.0.2.15:username): username
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> get
(remote-file) test.txt
(local-file) test.txt
local: test.txt remote: test.txt
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for test.txt (419430400 bytes).
226 Transfer complete.
419430400 bytes received in 7.24 secs (55.2582 MB/s)
사용 예 - SERVER
$ netstat -an | grep -E '10.0.2.15:21|10.0.2.15:20'
tcp6 0 0 10.0.2.15:21 10.0.2.16:51766 ESTABLISHED
tcp6 0 1399080 10.0.2.15:20 10.0.2.16:51211 ESTABLISHED
※ SFTP와 FTP는 동작방식이나 사용법은 비슷하지만 전혀 다른 프로토콜을 사용하므로 주의해야 한다.
※ FTPS는 FTP에 SSL이 적용된 프로토콜로 역시 SFTP와 전혀 다른 프로토콜이다.
'알아두면 좋은 IT 지식' 카테고리의 다른 글
유용한 윈도우 단축키 모음 (범용성) (0) | 2023.03.17 |
---|