SFTP를 정리하기에 앞서 FTP에 대해서 간략히 정리하겠다.
FTP(File Transfer Protocol)는 말 그대로 파일을 전송할 때 사용하는 통신 규약이다.
즉, 계정을 제공하는 서버pc와 클라이언트pc(내pc)와 파일을 주고 받을 때 사용한 인터넷 통신 규약이다.
FTP는 보안적인 문제로 잘사용되지 않는다.
1. SFTP(SSH File Transfep Protocol)란?
보안을 강화한 FTP라고 생각하면 된다. SFTP는 FTP와 달리 서버간의 데이터 전송시 암호화하기 때문에 보안상의 문제점을 방지했다.
즉, SSH를 적용한 파일 전송 프로토콜이다.
여기서 SSH란 원격 PC에 안전하게 엑세스하기 위한 유닉스 기반의 명령 인터페이스 및 프로토콜에 암호화 기능을 구현해 모든 데이터가 암호화 되어 높은 보안을 지원하는 인증 메커니즘이다.
2. SFTP를 통한 파일 전송
1. 서버 - 클라이언트 연결
원격 서버에 대한 SFTP를 연결하려면 아래의 명령를 사용하면 된다.
$ sftp [remote_username]@[remote_ip]
2. 서버 pc 경로 설정
연결이 되었으면 아래의 명령어를 통해 파일을 위치시킬 서버PC의 경로를 설정하자.
sftp> pwd # 경로확인
sftp> ls # 파일 디렉터리 나열
sftp> cd [PATH] # 해당 [PATH]로 이동
3. 파일 전송
파일을 위치시킬 경로로 이동했다면, 모든 준비가 끝났다. 아래의 명령어로 원하는 파일을 전송하면 된다.
sftp> put [filename] # [filename]을 원격서버로 전송
sftp> put -r [dirname] # [dirname](디렉터리)을 원격서버로 전송
4. 연결 종료
'ls' 등 명령어를 통해 파일이 제대로 전송되었는지 확인하고, 작업이 끝났으면 연결을 종료하면 된다.
sftp> bye
3. SFTP를 통한 파일 다운로드
1. 서버 - 클라이언트 연결
원격 서버에 대한 SFTP를 연결하려면 아래의 명령를 사용하면 된다.
$ sftp [remote_username]@[remote_ip]
2. 서버 pc 경로 설정
연결이 되었으면 아래의 명령어를 다운로드 할 파일이 위치한 서버PC의 경로를 설정하자.
sftp> pwd # 경로확인
sftp> ls # 파일 디렉터리 나열
sftp> cd [PATH] # 해당 [PATH]로 이동
3. 파일 전송
파일을 위치시킬 경로로 이동했다면, 모든 준비가 끝났다. 아래의 명령어로 원하는 파일을 전송하면 된다.
sftp> get [filename] # [filename]을 다운로드
sftp> get [host_filename] [local_filename] # [host_filename]을 다운로드 할 때 [local_filename]으로 변경해서 저장
sftp> get -r [dirname] # [dirname](디렉터리)을 다운로드
sftp> get -r [host_dirname] [local_dirame] # [host_dirname](디렉터리)을 다운로드 할 때 [local_dirname]으로 변경해서 저장
4. 연결 종료
'ls' 등 명령어를 통해 파일이 제대로 전송되었는지 확인하고, 작업이 끝났으면 연결을 종료하면 된다.
sftp> bye
참고자료
https://jjeongil.tistory.com/1422
https://inpa.tistory.com/entry/WEB-%F0%9F%97%84%EF%B8%8F-FTP-SFTP-%EB%9E%80
'DevOps > Linux' 카테고리의 다른 글
[Linux] Red Hat 8 Nginx log permission denied 문제 해결 (0) | 2024.09.13 |
---|---|
[Linux] yum repository 에러 해결 (1) | 2024.07.26 |
[Linux] 프로세스 모니터링을 위한 supervisor 적용 과정 (0) | 2023.12.28 |
[Linux] nohub과 &(앰퍼샌드) 사용법과 이해 (0) | 2023.09.16 |
[Linux] 리눅스에서 JAVA 애플리케이션 실행하기 (0) | 2023.09.16 |