Unix 계열의 운영체제, MacOS에서 sftp로 원격서버에 파일을 업로드, 다운로드(upload, download) 할 수 있는 방법을 소개한다.
맥북과 같은 Unix 계열의 운영체제에서는 sftp 커맨드를 사용하여 별도 설치없이 아주 간단하게 사용할 수 있다.
0. SFTP란?
SFTP(Secure File Transfer Protocol)
SFTP란 SSH 파일 전송 프로토콜으로 클라이언트-서버간에 안전한 파일 교환을 제공하는 네트워크 계층 프로토콜이다.
SFTP를 사용하면 SSH 방식을 이용하여 암호화된 구간에서 안전하게 FTP 기능을 이용할 수 있다.
1. 원격 서버 접속
먼저 sftp 커맨드를 사용하여 원격 서버에 접속을 해야한다.
SSH 방식을 이용하여 접속하기 때문에 기본적인 접속 방법은 SSH와 동일하다.
sftp remote_username@server_ip_or_hostname
방화벽이 차단되어 있다면, 일반적으로 22번 포트가 열려있어야 접속이 가능하다.
기본적으로 22번 포트로 통신을 시도하기 때문에, 다른 포트로 연결하려면 아래 처럼 -P 옵션을 사용하면 된다.
sftp -P custom_port remote_username@server_ip_or_hostname
MacOS에서 sftp 명령어 사용방법(usage)은 아래와 같으니 참고하자.
usage: sftp [-46aCfpqrv] [-B buffer_size] [-b batchfile] [-c cipher]
[-D sftp_server_path] [-F ssh_config] [-i identity_file]
[-J destination] [-l limit] [-o ssh_option] [-P port]
[-R num_requests] [-S program] [-s subsystem | sftp_server]
destination
2. SFTP 파일 업로드
SFTP로 서버에 파일을 업로드 하는 방법은 간단하다.
바로 put 커맨드를 이용하는 것이다.
1) SFTP 단일 파일 업로드
SFTP로 단일파일을 업로드하기 위해서는 put 명령어를 입력하면 된다.
원격 서버의 업로드 경로를 변경하면 cd 커맨드를 이용하여 디렉토리를 변경하거나, 서버의 절대 경로를 입력한다.
sftp> put filename.zip
sftp 커맨드를 실행한 내 로컬PC 상대 경로에 filename.zip 파일이 있어야 한다.
상대경로에 해당 파일이 없다면, 절대 경로로 입력하면 된다.
정상적으로 업로드가 되는 경우에 아래와 같이 업로드된 이력을 커맨드로 볼 수 있다.
Uploading filename.zip to /home/remote_username/filename.zip
filename.zip 100% 12MB 1.7MB/s 00:06
2) SFTP 디렉토리 파일 업로드(SFTP Upload Multiple Files)
SFTP를 이용하여 디렉토리 내의 여러 파일을 업로드 할 수 있다.
sftp> put -r local_directory/
3. SFTP 파일 다운로드
SFTP로 단일파일을 다운로드하기 위해서는 get 명령어를 입력하면 된다.
sftp> get filename.py
절대경로를 지정하지 않으면 다운로드 경로는 sftp 커맨드를 실행한 디렉토리에 다운로드가 된다.
위의 내용 처럼 cd 명령어를 이용하여 원격 서버 디렉토리 이동 후, 다운로드 받을 절대 경로를 입력하면 된다.
내 로컬PC에 저장할 때 원격 서버의 파일명과 다른 파일명으로 저장하려면 아래와 같이 로컬 파일명을 설정해줄 수 있다.
sftp> get filename.zip local_filename.zip
정상적으로 파일을 다운로드 받았을 때 아래 커맨드를 확인할 수 있다.
Fetching /opt/web/filename.py to filename.py
/opt/web/filename.py 100% 1155 70.0KB/s 00:00
또한, SFTP 로 연결 후에도 Linux/Unix 운영체제에서 사용하는 커맨드 df, mkdir, rm, chmod, chown 과 같은 커맨드를 사용할 수 있으니 참고하자.
참고
'IT > OS' 카테고리의 다른 글
[Windows] CMD Batch forfiles 명령어로 filename, filesize 확인하기 (0) | 2022.06.14 |
---|---|
[AD] Supermicro IPMI Active Directory 연동 방법 (0) | 2022.04.04 |
[Windows] 설치된 .Net Framework 버전 확인 방법 (0) | 2022.02.17 |
[Windows] Active Directory 관리센터 암호정책 그룹 적용/변경하기 (2) | 2022.02.11 |
[Windows] 윈도우 원격 데스크톱 포트 변경 방법(How to Change the Listening Port for Remote Desktop) (1) | 2022.01.24 |
댓글