AWS EC2 linux 환경에 있는 파일을 내PC(윈도우)로 가져오고 싶었다.
FileZilla로 이동한 경험은 있었지만 이런 프로그램에 의존하지 않고 명령어로 가져오고 싶어 다른 방법을 찾게 되었다 🔥
코드라면 깃을 통해 볼 수 있고 단순한 txt라면 EC2에서 확인할 법하다.
그러나 나의 경우엔 csv 파일을 보고 싶었다.
csv도 여는 방식의 차이일 뿐 txt 형식으로 파일을 봐도 충분하지만 NLP 팀에게 '우리 데이터 이렇게 잘 뽑았어요!'라고 보여주기에 excel로 열어 보여드리는 것이 깔끔하다 생각했다 🤣
scp는 secure copy라 부르며 '네트워크의 호스트 간에 파일을 복사'하는 기능이다.
ssh 원격 접속 프로토콜을 기반으로 파일을 보내거나 가져올 때 사용하는 파일 전송 프로토콜이다.
네트워크가 연결되어 있는 환경에서 ssh와 동일한 22 port와 identity file을 사용하여 파일을 송수신하기 때문에 보안적으로 안정된 프로토콜이다.
AWS EC2에 있는 파일을 내 로컬로 복사하고 싶었다.
파일을 가져오는 방법의 디폴트 명령은 아래와 같다.
scp [리눅스 계정]@[IP]:[가져올 파일 위치] [윈도우에 파일 받는 위치]
하지만 해당 EC2에 대한 접속 권한이 없어 이를 해결해야 했다 🤔
나의 경우 pem key와 함께 EC2에 접속하기 때문에 이를 이용했다.
scp -i ~/.ssh/SubtitleCollector.pem ec2-user@54.180.125.116:/mnt/data/data.csv D:/groom/data
i 옵션을 통해 identity file로 'pem key 경로'를 넣어줬다.
그렇게 data.csv라는 파일을 성공적으로 가져올 수 있었다 👍