본문 바로가기

Tech/Linux

[Linux] scp (secure copy)

반응형

1. scp

 

scp는 secure copy의 약자로 ssh 원격 접속 프로토콜을 기반으로 한 파일 전송 프로토콜이다. 원격으로 파일과 디렉토리 등을 보내고, 가져오는데 사용한다. 네트워크가 연결되어 있는 환경에서 ssh와 동일한 22번 포트와 identity file을 사용하여 파일을 송수신하기 때문에 보안적으로도 안정적이다.

 

 

2. 설치

 

scp는 ssh 프로토콜을 사용하여 통신하기 때문에 ssh 라이브러리가 설치되어 있어야 사용할 수 있다.

ubuntu에서는 다음 명령어를 통해 ssh를 설치할 수 있다.

 

sudo apt-get install openssh-server

 

 

3. 사용방법

 

- local -> remote 전송

    1) 단일 파일을 원격지로 전송

scp [option] [filename] [remoteid]@[remote ip]:[remote path]
ex) scp file root@192.168.1.93:/~

 

    2) 복수의 파일을 원격지로 전송

scp [option] [file1] [file2] ... [fileN] [remote id]@[remote ip]:[remote path]
ex) scp file1 file2 file3 root@192.168.1.93:/~

 

    3) 여러 파일을 포함하고 있는 디렉토리를 원격지로 전송 (-r option 사용)

scp [option] [dir name] [remote id]@[remote ip]:[remote path]
ex) scp -r dir root@192.168.1.93:/~
       -r 옵션을 사용하여 디렉토리 하위 파일들도 모두 포함하여 전송한다.

 

- remote -> local 전송

 

    1) 단일 파일을 원격지에서 로컬로 가져올 때

scp [option] [remote id]@[remote ip]:[remote path] [local path]
ex) src root@192.168.1.93:/~/testfile /tmp
      remote server의 ~/testfile을 local의 /tmp로 이동

 

    2) 복수의 파일을 원격지에서 로컬로 가져올 때

scp [option] [remote id]@[remote ip]:[remote path1] [remote path2] ... [remote pathN] [local pat]
ex) scp root@192.168.1.93:"/tmp/test1 /tmp/test2" /tmp 
      /tmp/test1, test2를 /tmp로 이동
      이때 복수의 파일 경로를 ""를 사용하여 묶어준다.

 

    3) 여러 파일을 포함할고 있는 디렉토리를 원격지에서 로컬로 이동

scp [option] [remote id]@[remote ip]:[dir path] [local path]
ex) scp -r root@192.168.1.93:/tmp/dir /tmp
반응형

'Tech > Linux' 카테고리의 다른 글

[Linux] 사용자 계정 생성 (adduser, useradd)  (1) 2023.11.26
[Linux] 리눅스 locale 설정  (0) 2022.06.23
[Linux] df  (0) 2022.06.06
[Linux] PID, PPID  (0) 2022.01.08
[Linux] shell basic command  (0) 2021.09.13