SW/리눅스

LINUX : SFTP Command로 파일 전송하는 방법, 예제, 명령어

얇은생각 2021. 3. 14. 07:30
반응형

SSH 파일 전송 프로토콜(SSH File Transfer Protocol)은 암호화된 SSH 전송을 통해 파일에 액세스, 관리 및 전송하는 데 사용되는 보안 파일 프로토콜입니다.

기존 FTP 프로토콜과 비교할 때 SFTP FTP의 모든 기능을 제공하지만 보다 안전하고 쉽게 구성할 수 있습니다.

파일 전송만 지원하는 SCP와 달리 SFTP를 사용하면 원격 파일에 대해 다양한 작업을 수행하고 파일 전송을 재개할 수 있습니다.

이 튜토리얼에서는 Linux sftp 명령 사용 방법에 대해 설명합니다.

 

 

LINUX : SFTP Command로 파일 전송하는 방법, 예제, 명령어

 

 

시작하기 전

SFTP를 통해 파일을 전송하려면 원격 시스템에 대한 쓰기 권한이 있어야 합니다. 

대용량 파일을 전송할 때는 화면 또는 tmux 세션 내에서 sftp 명령을 실행하는 것이 좋습니다. 

sftp 명령을 실행할 디렉터리는 로컬 작업 디렉터리입니다.

SFTP FTPS를 혼동하지 마십시오. 두 프로토콜은 동일한 목적으로 사용됩니다. 그러나 FTPS FTP Secure의 약자로 TLS를 지원하는 표준 FTP 프로토콜의 확장입니다.

 

 

 

SFTP 연결 설정

SFTP는 클라이언트-서버 모델에서 작동합니다. SSH의 하위 시스템이며 모든 SSH 인증 메커니즘을 지원합니다. 

원격 시스템에 대한 SFTP 연결을 열려면 sftp 명령 다음에 원격 서버 사용자 이름과 IP 주소 또는 도메인 이름을 사용하십시오.

sftp remote_username@server_ip_or_hostname

 

 

암호 인증을 사용하여 호스트에 연결하는 경우 사용자 암호를 입력하라는 메시지가 표시됩니다. 

연결되면 sftp 프롬프트가 표시되고 원격 서버와의 상호 작용을 시작할 수 있습니다.

# Connected to remote_username@server_ip_or_hostname.
# sftp>

 

 

원격 SSH 서버가 기본 포트 22에서 수신되지 않는 경우 -P 옵션을 사용하여 SFTP 포트를 지정합니다.

sftp -P custom_port remote_username@server_ip_or_hostname

 

 

 

SFTP 명령

대부분의 SFTP 명령은 Linux 셸 명령과 비슷하거나 동일합니다. 

사용 가능한 모든 SFTP 명령 목록을 가져오려면 help 또는 ?를 입력합니다.

 그러면 각 명령에 대한 간단한 설명을 포함하여 사용 가능한 모든 명령의 긴 목록이 출력됩니다.

help

# Available commands:
# bye                                Quit sftp
# cd path                            Change remote directory to 'path'
# ...
# ...
# version                            Show SFTP version
# !command                           Execute 'command' in local shell
# !                                  Escape to local shell
# ?                                  Synonym for help

 

 

 

SFTP를 사용하여 탐색

원격 서버에 로그인하면 현재 작업 디렉터리는 원격 사용자 홈 디렉터리입니다. 다음을 입력하여 이를 확인할 수 있습니다.

pwd

# Remote working directory: /home/remote_username

 

 

파일 및 디렉터리를 나열하려면 ls 명령을 사용합니다.

ls

 

 

다른 디렉터리로 이동하려면 cd 명령을 사용하십시오. 예를 들어 /tmp 디렉토리로 전환하려면 다음을 입력합니다.

cd /tmp

 

 

위의 명령은 원격 위치를 탐색하고 작업하는 데 사용됩니다.

SFTP 셸은 로컬 탐색, 정보 및 파일 관리 명령도 제공합니다. 로컬 명령 앞에는 l이라는 문자가 붙습니다.

예를 들어 로컬 작업 디렉토리를 인쇄하려면 다음을 입력합니다.

cd lpwd

# Local working directory: /home/local_username

 

 

 

SFTP를 사용하여 파일 전송

SFTP를 사용하면 두 컴퓨터 간에 파일을 안전하게 전송할 수 있습니다.

 데스크톱 시스템에서 작업하는 경우 WinSCP 또는 FileZilla와 같은 GIS FTP 클라이언트를 사용하여 원격 서버에 연결하고 파일을 다운로드하거나 업로드할 수 있습니다.

sftp 명령은 GUI가 없는 서버에서 작업할 때 유용하며 파일을 전송하거나 원격 파일에 대해 다른 작업을 수행할 때 유용합니다.

 

 

 

SFTP 명령을 사용하여 파일 다운로드

원격 서버에서 단일 파일을 다운로드하려면 get 명령을 사용합니다.

get filename.zip

# Fetching /home/remote_username/filename.zip to filename.zip
# /home/remote_username/filename.zip                           100%   24MB   1.8MB/s   00:13

 

 

sftp를 사용하여 파일을 다운로드하면 sftp 명령을 입력한 디렉터리로 파일이 다운로드됩니다. 

다운로드한 파일을 다른 이름으로 저장하려면 새 이름을 두 번째 인수로 지정하십시오.

get filename.zip local_filename.zip

 

 

원격 시스템에서 디렉토리를 다운로드하려면 재귀 -r 옵션을 사용합니다.

get -r remote_directory

 

 

파일 전송이 실패하거나 중단된 경우 reget 명령을 사용하여 다시 시작할 수 있습니다. 

reget filename.zip

 

 

 

SFTP 명령을 사용하여 파일 업로드

로컬 시스템에서 원격 SFTP 서버로 파일을 업로드하려면 put 명령을 사용합니다.

put filename.zip

# Uploading filename.zip to /home/remote_username/filename.zip
# filename.zip                          100%   12MB   1.7MB/s   00:06

 

 

업로드할 파일이 현재 작업 디렉토리에 없는 경우 파일의 절대 경로를 사용하십시오. 

put 작업 시 get 명령에서 사용할 수 있는 것과 동일한 옵션을 사용할 수 있습니다.

로컬 디렉터리를 업로드하려면 다음을 입력합니다.

put -r locale_directory

 

 

중단된 업로드를 재개하려면 다음과 같이 하십시오.

reput filename.zip

 

 

 

 

SFTP를 사용한 파일 조작

일반적으로 원격 서버에서 작업을 수행하려면 SSH를 통해 원격 서버에 연결하고 셸 터미널을 사용하여 작업을 수행합니다. 그러나 경우에 따라 사용자는 원격 서버에 대한 SFTP 액세스만 가질 수 있습니다. 

SFTP를 사용하면 몇 가지 기본 파일 조작 명령을 수행할 수 있습니다. 다음은 SFTP 셸 사용 방법의 몇 가지 예입니다.

원격 시스템의 디스크 사용량에 대한 정보를 가져옵니다.

df

#         Size         Used        Avail       (root)    %Capacity
#     20616252      1548776     18002580     19067476           7%

 

 

원격 서버에 새 디렉토리를 생성합니다.

mkdir directory_name

 

 

원격 서버에서 파일 이름을 변경합니다.

rename file_name new_file_name

 

 

원격 서버에서 파일을 삭제합니다.

rm file_name

 

 

원격 서버의 디렉토리를 삭제합니다.

rmdir directory_name

 

 

원격 시스템에서 파일의 사용 권한을 변경합니다.

chmod 644 file_name
 

 

 

원격 시스템에서 파일 소유자를 변경합니다.

chown user_id file_name

 

 

chown chgrp 명령에 사용자 ID를 제공해야 합니다 .

다음을 사용하여 원격 파일의 그룹 소유자를 변경합니다.

chgrp group_id file_name

 

 

작업을 마치면 bye나 quit 입력하여 연결을 종료합니다.

반응형