DevOps/Linux

scp(secure copy protocol) 명령어

알로그 2021. 3. 23. 23:00
반응형

scp(secure copy protocol)

 

 

서버간에 파일이나 폴더를 전송하기 위한 여러가지 방법이 있는데, 그 중 scp 사용법에 대해 알아보자.

 

소프트웨어 패키지를 배포할 때, 빌드서버에서 배포서버로 배포하기 위해 scp를 사용했는데, 두 서버간에 미리 셋팅을 해줘야 패스워드 입력없이 자동화가 가능하다.

 

<SCP란>

Secure copy protocol or SCP is a means of securely transferring computer files between a local host and a remote host or between two remote hosts. It is based on the Secure Shell (SSH) protocol. "SCP" commonly refers to both the Secure Copy Protocol and the program itself

 

scp는 ssh 프로토콜을 기반으로 하기 때문에 먼저 빌드서버와 배포서버 각각 ssh키를 생성해준다.

 

<ssh 키 생성 명령어>

ssh-keygen -t -rsa

ssh키를 생성 후에 패스워드 없이 패키지를 전송하기 위해 빌드서버의 .ssh폴더 밑에 있는 id_rsa.pub에 있는 파일에 있는 내용을 배포서버의 .ssh/authorized_key 파일에 내용을 추가해줘야 한다.

 

<ssh 퍼블릭 키 copy>

ssh-copy-id id@ip

 

 

다음으로 아래 명령어와 같이 빌드서버에서 scp를 이용해서 폴더를 remote 서버로 전송할 수 있다.

 

<scp 명령어>

scp -r $PACKAGE_NAME id@ip:/path/

 

반응형