공인 IP로 접속할 수 있게 했으니 이제 어디서든 접속 가능한 서버를 하나 갖췄습니다. 하지만 한 가지 더 할 것이 남았습니다. 라즈베리파이로 배포를 할 때마다 모니터와 키보드를 연결해서 작업하자니 솔직히 좀 불편하거든요.

room

이래서야…

SSH 연결

시큐어 쉘은 네트워크 상에서 다른 컴퓨터 쉘을 사용할 수 있게 해주는 프로토콜을 의미합니다. 보통 22번 포트를 사용합니다. 이 포트를 통해 원격으로 연결되면 다른 단말에서 쉘을 사용할 수 있는데, AWS EC2 배포도 SSH을 톻해 CLI로 할 수 있습니다. 여러모로 편리한 기능이긴 한데 CLI에 익숙해지기까진 좀 시간이 걸리긴 합니다.

SSH 설정은 운영체제에 따라 다릅니다. 현재 라즈베리파이의 리눅스 OS 우분투입니다. cmd로 SSH를 실행하고 22번 포트를 열어주어야 합니다.

우선 SSH를 실행하려면 프로그램이 있어야합니다. 설치해주겠습니다.

$ apt -y install openssh-server

설치가 완료되면 ssh가 실행되는지 확인합니다. ssh 데몬의 실행 여부를 확인하려면 systemctl 명령어를 사용합니다.

$ systemctl status ssh

ssh-setting

active라는 표시를 확인했다면 ssh을 사용할 수 있습니다. 22번 포트를 열어주겠습니다.

$ ufw allow 22/tcp

여기까지 해주면 라즈베리파이의 IP로 접근 가능하다면 22번 포트로 SSH를 사용할 수 있습니다. 포트포워딩을 통해 외부에서 접근 가능하게 해줄 수도 있지만 거기까지 열어줄 생각은 없고, 어디까지나 집에서 편하게 작업하는 게 목표니까 여기까지만 하겠습니다. 결과를 확인해보겠습니다.

result

PuTTY를 통해 SSH를 실행하였습니다. 잘 되는 걸 확인했으니 이제 굳이 라즈베리파이에 덕지덕지 뭘 달지 않고도 docker로 배포가 가능해졌습니다. 그런데 문제는 딥러닝 모델의 학습률이 여전히 지지부진하다는 거… 차라리 노선을 틀어서 이왕 배포 가능해진 거 간단한 웹 페이지라도 대신 만들어 올려야하나 싶습니다.