기계적 인조 인간

linux sftp 명령을 사용하여 파일을 전송하는 방법

How to Pull Files Automatically From A Remote Linux Host With No File Transfer Service

How to Pull Files Automatically From A Remote Linux Host With No File Transfer Service

차례:

Anonim

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

SFTP는 기존 FTP 프로토콜과 비교할 때 FTP의 모든 기능을 제공하며 구성하기가 더 쉽습니다.

파일 전송 만 허용하는 scp command 과 달리 sftp 명령을 사용하면 원격 파일에서 다양한 작업을 수행하고 파일 전송을 다시 시작할 수 있습니다.

이 튜토리얼에서는 Linux sftp 명령을 사용하는 방법을 보여줍니다.

시작하기 전에

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

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

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

SFTP 연결 설정

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

기존 비밀번호 인증은 기본적으로 설정되어 사용하기 쉽지만 SSH / SFTP를 통해 서버에 정기적으로 연결하는 경우 SSH 키를 작성하고 비밀번호가없는 SFTP 로그인을 설정하는 것이 좋습니다.

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

sftp remote_username@server_ip_or_hostname

연결되면 sftp 프롬프트가 표시되고 원격 시스템과 상호 작용을 시작할 수 있습니다.

Connected to remote_username@server_ip_or_hostname. sftp>

원격 SSH 서버가 기본 포트 22에서 청취하지 않는 경우 -oPort 옵션을 사용하여 대체 포트를 지정하십시오.

sftp -oPort=custom_port remote_username@server_ip_or_hostname

SFTP 명령

대부분의 SFTP 명령은 Linux 쉘 프롬프트에서 사용하는 명령과 유사하거나 동일합니다.

help 또는 ? 를 입력하여 사용 가능한 모든 SFTP 명령 목록을 얻을 수 있습니다 ? .

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를 사용하면 두 시스템간에 파일을 안전하게 전송할 수 있습니다.

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

SFTP 명령으로 파일 다운로드

원격 서버에 로그인하면 현재 작업중인 디렉토리는 원격 사용자 홈 디렉토리입니다.

sftp 명령으로 파일을 다운로드 할 때 파일은 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

get filename.zip local_filename.zip

원격 시스템에서 디렉토리를 다운로드하려면 recursive -r 옵션을 사용하십시오.

get -r remote_directory

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

reget 구문은 get 구문과 같습니다.

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 를 입력하여 연결을 닫으십시오.

결론

이 자습서에서는 sftp 명령을 사용하여 파일을 원격 SFTP 서버에 다운로드하고 업로드하는 방법을 보여주었습니다.

SSH 키 기반 인증을 설정하고 비밀번호를 입력하지 않고 Linux 서버에 연결할 수도 있습니다.

질문이나 의견이 있으면 언제든지 의견을 남겨주십시오.

sftp 터미널