SCP를 사용하여 파일 및 디렉터리를 안전하게 전송하는 방법

Suraj Joshi 2023년1월30일
  1. SCP 명령
  2. scp를 사용하여 파일 및 디렉토리 전송
SCP를 사용하여 파일 및 디렉터리를 안전하게 전송하는 방법

‘보안 복사’라고도하는 SCP는 로컬에서 원격 시스템으로 또는 그 반대로 파일과 디렉토리를 전송하는 명령 줄 유틸리티입니다. 또한 두 원격 시스템간에 파일과 디렉토리를 전송할 수 있습니다. 파일과 암호는 전송 중에 암호화되므로보다 안전한 전송 방법입니다.

SCP 명령

통사론

scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2

플래그:

  • OPTION : 암호, ssh 구성, ssh 포트, 제한, 재귀 복사 등과 같은scp 옵션을 나타냅니다.
  • [user@]SRC_HOST:]file1 : 복사 할 소스 파일 또는 디렉토리
  • [user@]DEST_HOST:]file2 : 소스 파일 또는 디렉토리를 복사해야하는 디렉토리 경로

scp는 전송을 제어하는 다양한 옵션을 제공합니다. 가장 널리 사용되는 옵션은 다음과 같습니다.

-P 원격 호스트의 SSH 포트 지정
-p 파일 수정 및 액세스 시간을 보존합니다.
-q 진행률 표시기 및 오류 메시지 억제
-C 전송 중 데이터 압축
-r 파일을 재귀 적으로 복사합니다.

scp 명령을 사용하는 동안주의해야 할 사항:

  1. 이 명령은ssh 키 또는 암호를 사용하여 원격 시스템을 인증합니다.
  2. :기호로 원격 시스템을 인식합니다.
  3. 소스 파일 또는 디렉토리의 읽기 권한과 대상 파일 또는 디렉토리의 쓰기 권한을 확인해야합니다.
  4. scp는 경고없이 파일을 덮어 씁니다. 따라서 두 시스템에서 동일한 이름과 위치를 공유하는 파일을 전송할 때는주의해야합니다.

scp를 사용하여 파일 및 디렉토리 전송

로컬 시스템에서 원격 시스템으로 파일 복사

scp main.py remote_username@11.11.0.200:/Documents/directory

이 명령은 사용자 암호를 입력하라는 메시지를 표시하고 올바른 암호를 입력하면 전송이 시작됩니다.

출력:

remote_username@11.11.0.200's password:
main.py                             100%    0     0.0KB/s   00:00

로컬 시스템의main.py 파일을 사용자 이름remote_username과 IP 주소11.11.0.200으로 원격 서버에 복사합니다. /Documents/directory는 파일을 복사해야하는 원격 서버의 대상 디렉토리를 나타냅니다. 원격 디렉토리를 지정하지 않으면 파일이 원격 시스템의 홈 디렉토리로 복사됩니다.

리모컨의 SSH가 기본 포트 22가 아닌 다른 포트를 수신하는 경우 -P옵션을 사용하여 포트를 지정할 수 있습니다.

scp -P 8080 main.py remote_username@11.11.0.200:/Documents/directory

로컬 시스템에서 원격 시스템으로 디렉토리 복사

디렉토리 내의 모든 파일을 재귀 적으로 전송하는 디렉토리를 전송하려면scp 명령과 함께-r 인수를 사용해야합니다.

scp -r /Documents/myapp remote_username@11.11.0.200:/Documents/remote_app

로컬 머신의Documents 디렉토리에있는myapp 디렉토리를 원격 머신의Documents 안에있는remote_app 디렉토리에 복사합니다.

원격 시스템에서 로컬 시스템으로 파일 복사

원격 시스템 파일을 로컬 시스템에 복사하기 위해 원격 위치를 소스로 사용하고 로컬 위치를 대상으로 사용합니다.

scp remote_username@11.11.0.200:/remote/main.py /Documents/local

원격 시스템의main.py 파일을 대상 디렉토리/Documents/local이있는 로컬 시스템으로 복사합니다.

한 원격 위치에서 다른 원격 위치로 파일 복사

scp userA@11.11.0.200:/host1/main.py userB@11.11.0.205:/host2

IP 주소가 11.11.0.200인 원격 호스트에서/host1/main.py파일을 IP 주소가 11.11.0.205인 호스트의 host2디렉토리로 복사합니다.

명령어가 실행 된 머신을 통해 트래픽을 라우팅하기 위해scp 명령어에-3 옵션을 추가합니다.

scp -3 userA@11.11.0.200:/host1/main.py userB@11.11.0.205:/host2
작가: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

관련 문장 - Linux Files and Directories