오늘도 삽질중

SCP 파일전송 (with. EC2 pem file) 본문

기타

SCP 파일전송 (with. EC2 pem file)

Choi3950 2023. 8. 25. 19:20
반응형

scp 파일전송에 관련된 여러 블로그가 있지만 pem 파일 기반으로 전송하는 방법은 찾기가 힘들어 정리해봅니다.

 

 

우선 scp 명령어 사용시 사용되는 옵션들의 설명은 아래와 같습니다.

옵션 설명
-r 디렉터리 전송 시에 사용됩니다. -r 옵션을 사용하면 디렉터리와 그 안에 있는 파일 및 서브디렉터리가 복사됩니다.
-P 원격 SSH 포트를 지정할 때 사용됩니다. 기본 포트는 22이며, 만약 다른 포트를 사용하려면 -P 옵션을 사용하여 지정합니다.
-i 개인 키 파일을 지정할 때 사용됩니다. SSH 연결을 위해 사용되는 개인 키 파일의 경로를 지정합니다.
-v 디버깅 정보를 출력합니다. 연결 및 전송 과정에서 발생하는 디버그 메시지를 볼 수 있습니다.
-C 데이터를 압축하여 전송합니다. 네트워크 대역폭을 절약할 수 있습니다.

이 외에도 많은 옵션이 있으니 본인의 상황에 맞게 적절하게 사용하시길 바랍니다.

 

 

Case1.  로컬PC에서 EC2 인스턴스(서버) 로 파일을 주고 받기  (직접 접근 가능)

 

로컬PC 에서 EC2 인스턴스로 파일을 전송해야 할 때

로컬에 저장된 hello.txt 파일을 EC2 서버의 /home/ubuntu/files 로 이동시킨다고 가정

EC2 서버의 사용자는 ubuntu

EC2 PEM 파일의 로컬 경로 위치는 /User/Desktop/KeyFiles/ec2.pem

scp -r -i /User/Desktop/KeyFiles/ec2.pem hello.txt ubuntu@1.1.1.1:/home/ubuntu/files

 

EC2 인스턴스 에서 로컬PC로 파일을 가져와야 할 때

EC2 서버의 /home/ubuntu/files/hello.txt 파일을 로컬의 /User/Download/Files 에 위치

EC2 PEM 파일의 로컬 경로위치는 /User/Desktop/KeyFiles/ec2.pem

 

scp -r -i  /User/Desktop/KeyFiles/ec2.pem ubuntu@1.1.1.1:/home/ubuntu/files/hello.txt /User/Download/Files

 

 

Case2.  로컬PC에서 EC2 인스턴스(서버) 로 파일을 주고 받기  (직접 접근 불가능)

실무 환경에서는 보안을 위해 바로 접근이 안되고 우회하게끔 하는 경우가 대부분입니다.

 

이 경우 번거롭지만 로컬PC 파일을 IP주소 1.1.1.1 서버로 이동 후 IP 주소 2.2.2.2 서버로 이동시키면 됩니다.

반대로 IP 주소 2.2.2.2 서버에 있는 파일을 로컬PC 로 이동하려고 할 경우에도 IP 주소 1.1.1.1 서버를 경유해야만 처리가 가능합니다.

 

당연한 얘기지만 해당 케이스의 경우에는 IP 주소 1.1.1.1 서버에 IP 주소 2.2.2.2 서버에 접근이 가능한 PEM 파일이 존재해야 됩니다.

 

Case1. 명령어 기반으로 PEM 파일 경로 및 파일을 전송 받을 경로만 각각의 상황에 맞게 변경해주면 작업은 완료됩니다.

반응형
Comments