scp 파일 전송

업무 시간에는 항상 켜져 있는 라즈베리파이. 평소에 파이가 하는 일은 현재 시간 보여주기와 D-day 알려주기. 여기에 R로 작업한 파일을 백업하기로 했다.

분석에 사용하는 리눅스 PC가 항상 백업 시간에 맞추어 켜져 있지도 않고, 여러 군데에 흩어져 있어 모으는 것도 일이다. R에서 커맨드로 쉽게 보낼 수 있도록 한 줄로 작성이 가능해야 한다. 비밀번호 문제도 해결해야 한다. FTP를 이용한 방법은 비밀번호 단계를 지정해야 하는 문제가 있어서 패스. scp 명령어를 이용하기로 하였다. 이를 위해서는 ssh 에서 개인키/공개키를 생성하는 과정이 필요하다.

파일 보내는 컴퓨터에서는 다음과 같이 작업해 준다.

ssh-keygen -t rsa

이렇게 키 생성.

통상적으로 ~/.ssh 폴더에 파일이 저장된다. 이 중 id_rsa.pub 파일을 받고자 하는 컴퓨터로 전송해준다.

scp ~/.ssh/id_rsa.pub pi@pi.work:/home/pi/

받는 컴퓨터에서는 이 공개키를 등록한다.

cat id_rsa.pub >> /home/pi/.ssh/authorized_keys

이제 원래 작업 컴퓨터에서 다음과 같은 방법으로 파일을 전송한다.

scp -i ~/.ssh/id_rsa 파일이름 pi@pi.work:/home/pi/downloads