>시스템 튜토리얼 >리눅스 >Linux에서 scp 명령을 사용하여 ssh를 통해 파일을 안전하게 전송하는 방법

Linux에서 scp 명령을 사용하여 ssh를 통해 파일을 안전하게 전송하는 방법

WBOY
WBOY앞으로
2024-02-09 13:39:30921검색

Linux에서 scp 명령을 사용하여 ssh를 통해 파일을 안전하게 전송하는 방법

Unix 또는 Linux 운영 체제에서 scp 유틸리티(보안 복사본)는 더 유명한 명령 cp와 유사하지만 암호화된 보안 네트워크를 통해 호스트 간에 파일과 디렉터리를 전송하는 데 사용됩니다.

데이터 전송을 위해 SSH를 사용하기 때문에 SSH와 동일한 보안을 제공하고 동일한 인증을 사용합니다. rcp와 달리 scp 명령은 필요한 경우 인증을 위해 비밀번호를 묻는 메시지를 표시합니다.

이 기사에서는 Linux의 보안 파일 전송에 대해 자세히 알아보고 scp 명령을 사용하는 방법을 알아봅니다. 일반적인 scp 스위치와 옵션에 대한 자세한 설명과 사용 사례 예시를 통해 이 유틸리티를 사용하는 방법을 배우게 됩니다.

시작하기 전에 다음 사항을 아는 것이 중요합니다

  1. scp는 데이터 전송을 위해 SSH를 사용하므로 원격 시스템(Linux 파일 전송 SSH)에서 인증하려면 SSH 키 또는 비밀번호가 필요합니다.
  2. 대상 시스템에 대한 쓰기 권한과 소스 파일에 대한 읽기 권한이 있는지 확인하십시오.
  3. 참고: scp 도구는 콜론(:)을 사용하여 원격 위치와 로컬 위치를 구분합니다.
  4. 양쪽에 동일한 위치와 이름을 가진 파일을 복사하면 scp는 사전 경고 없이 파일을 덮어씁니다.

SCP Linux 명령 구문

scp 명령 사용을 시작하려면 다음 형식의 기본 구문을 알아야 합니다.

으아악

옵션: SSH 구성, 비밀번호, 제한 사항, SSH 포트, 재귀 복사 등과 같은 scp 옵션을 나타냅니다.

[user@]SRC_HOST:]file1: 소스 파일을 나타냅니다.

[user@]DEST_HOST:]file2: 대상 파일을 나타냅니다

다른 명령과 마찬가지로 scp 도구에는 동작을 제어할 수 있는 몇 가지 옵션이 있습니다. 가장 일반적인 것은 다음과 같습니다:

  • -P: 연결할 원격 호스트의 SSH 포트를 나타냅니다.
  • -p: 원본 파일의 파일 수정 사항, 모드 및 액세스 시간을 보존하도록 지정합니다.
  • -q: 오류가 아닌 메시지와 진행률 표시기를 억제해야 합니다.
  • -C: 암호화된 보안 연결에서 압축을 활성화하기 위해 -C 플래그를 ssh에 전달할 때 scp가 데이터를 압축하도록 강제합니다.
  • -r: scp 명령에 전체 디렉터리를 재귀적으로 복사하도록 지시합니다.
  • -S: 연결을 암호화하는 데 사용되는 프로그램의 이름입니다. SSH를 사용하므로 프로그램은 SSH 스위치를 이해해야 합니다.
  • -v: 자세한 모드. 진행 상황에 대한 메시지를 출력하기 위해 scp 및 ssh를 활성화합니다. 이는 연결, 구성 및 인증 문제를 디버깅할 때 유용합니다.

로컬 파일을 원격 대상으로 전송

scp를 사용하기 전에 cp를 사용하여 한 폴더에서 다른 폴더로 파일을 복사해 보겠습니다. 우리 모두는 이를 달성하기 위해 cp 명령을 사용하는 방법을 알고 있습니다.

으아악

사용자 linuxmi의 홈 디렉터리에 있는 linuxmi.mp3 파일을 동일한 사용자의 홈 폴더인 linuxmi의 오디오 디렉터리에 복사합니다.

비슷한 방식으로 사용할 수 있는 scp 명령의 예는 다음과 같습니다.

으아악

linuxmi를 로그인 이름으로 사용하여 linuxmi.mp3 파일을 서버 linuxmicom의 원격 디렉터리인 /home/linuxmi/audio...에 업로드합니다. scp는 업로드를 시작하기 전에 linuxmi의 원격 비밀번호를 묻는 메시지를 표시합니다. 원격 디렉터리가 제공되지 않으면 파일이 원격 사용자의 홈 디렉터리에 복사됩니다. 대상 폴더에 파일 이름을 제공하지 않으면 scp가 원래 이름으로 파일을 복사하게 됩니다. 파일을 다른 이름으로 저장하려면 새 파일 이름을 지정해야 합니다.

원격 파일을 로컬 대상으로 전송

파일을 다운로드하려면 원격 위치를 원본 위치로 언급할 수 있습니다. 예:

scp linuxmi@linuxmi.com:/home/linuxmi/audio/* /home/linuxmi/downloads

linuxmi.com의 원격 디렉토리 /home/linuxmi/audio에 있는 모든 오디오 파일을 로컬 디렉토리인 /home/linuxmi/downloads로 다운로드합니다.

파일 이름을 참고하세요:

파일 이름은 사용자와 호스트로 구성되어 해당 호스트와의 파일 전송을 나타낼 수 있습니다. 호스트 지정자로 ":"가 포함된 scp 처리 파일 이름을 방지하기 위해 로컬 파일 이름은 절대 또는 상대일 수 있습니다. 그러나 원격 파일 이름에는 사용자와 호스트가 모두 포함되어야 합니다.

기본 포트 번호:

원격 호스트에서 SSH가 다른 포트(즉, 기본 포트 22가 아닌 포트)에서 수신 대기하는 경우 -P 스위치를 사용하여 해당 포트를 나타낼 수 있습니다.

로컬 디렉토리를 원격 대상으로 전송

파일 복사와 유사하게 디렉터리를 원격 위치에 복사합니다. 재귀 전송에는 -r 플래그를 사용해야 합니다.

전체 디렉터리를 원격 시스템에 복사하려면 -r 옵션과 함께 명령을 실행하세요. 예:

scp -r /home/linuxmi/local_folder linuxmi@linuxmi.com:/home/linuxmi/remote_folder

두 원격 시스템 간의 파일 전송

다음 명령은 원격 호스트 linuxmi.com의 /folder/linuxmi.mp3 파일을 원격 호스트 www.linuxmi.com의 /folder 디렉터리로 복사합니다.

scp linuxmi@linuxmi.com:/folder/linuxmi.mp3 linuxmi@www.linuxmi.com:/anotherfolder

이 작업을 시작하면 두 원격 대상 모두의 비밀번호를 제공하라는 메시지가 표시됩니다.

localhost(즉, 명령이 실행되는 컴퓨터)를 통해 트래픽을 라우팅하려면 다음과 같이 -3 스위치를 사용하세요.

scp -3 linuxmi@linuxmi.com:/folder/linuxmi.mp3 linuxmi@www.linuxmi.com:/anotherfolder

위 내용은 Linux에서 scp 명령을 사용하여 ssh를 통해 파일을 안전하게 전송하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 lxlinux.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제