라즈베리파이 란?


라즈베리 파이(Raspberry Pi)는 영국 잉글렌드의 라즈베리 파이 제단이 학교와 개발도상국에서 기초 컴퓨터 과학의 교육을 증진시키기 위해 개발한 신용카드 크기의 싱글 보드 컴퓨터 이다.

B, B2, 3B, 3B+, 4B, 5등 여러 모델이 있다.

라즈베리파이 세팅


라즈베리파이도 컴퓨터이기 때문에, OS 설치등등의 세팅이 필요하다.

https://www.raspberrypi.com/software/

공식 사이트에서 Raspberry Pi Imager를 다운받고, 컴퓨터에 Micro SD카드를 연결하여 OS를 설치할 수 있다.

wlan, ssh, locale 등 옵션을 입력해주고 write를 시작하면, SD카드에 OS 쓰기가 시작된다.

쓰기가 완료되면 SD카드를 라즈베리파이에 연결하고, 라즈베리파이에 전원을 인가하면 설치한 OS로 부팅된다.

실습 환경은 키보드, 마우스, 모니터를 라즈베리파이에 연결하지 않은 Head-less 상태이기 때문에, OS설치시 입력한 wlan에 자동으로 연결되는것을 기다려야 한다.

라즈베리파이의 Wlan 연결 여부는 Port scanner tool을 사용하거나, Router의 DHCP등에서 확인할 수 있다.

SSH 접속


인터넷의 여러 글이나 매뉴얼 들을 보면, SSH에 접속할 때 Putty와 같은 SSH Client를 설치해야한다고 하는데, 사실 그럴 필요가 없다.

윈도우는 CMD, MAC은 Terminal에 SSH client가 이미 내장되어있다.

아래 명령어로 SSH에 접속할 수 있다.

ssh [username]@[ipaddress]

현재 ssh서버는 라즈베리파이 이기 때문에, 라즈베리파이의 username은 pi이고, ip address는 192.168.0.190이다.

따라서 Terminal에 ssh pi@192.168.0.190 을 입력하면, 접속할 수 있다.

명령어를 입력하면, fingerprint를 확인하며 연결할것인지 묻는다. yes를 입력해주면 된다.

💡
SSH Fingerprint란? : Public Key를 인식하기 위한 지문을 나타낸다. Fingerprint로 중간자 공격(MITM)을 예방할 수 있다.

이후 password를 입력하면 접속이 완료된다.

VNC Server


접속한 SSH 창에서 아래 명령어로 라즈베리파이 설정에 진입한다.

sudo raspi-config

그러면 위와같은 화면이 출력된다. 여기에서 3 Interface Options → VNC 로 진입하면 VNC server를 enable할건지 묻는다. Yes를 선택해준다.

이제 VNC Viewer와 같은 VNC Client로 Raspberry Pi의 GUI를 원격접속할 수 있게 된다.

VNC Viewer에 raspberry Pi의 ip address를 입력하면 연결할것인지 묻는다. Continue를 클릭한다.

이후 Auth를 묻는 창이 표시된다. ID와 PW를 입하면 연결이 완료된다. 연결이 완료되면 raspberry pi의 배경화면을 확인할 수 있다.

VSC-Server


Raspberrypi에 Visual Studio Code-Server를 구성할 수 있다. 먼저 PC에서 VSC를 켠다.

메인 화면에서 F1키를 누르고 SSH를 입력하면, SSH Host 추가 메뉴가 있다.

아까 Terminal이나 CMD에서 SSH에 연결할때와 똑같은 명령어를 입력한다.

ssh pi@192.168.0.190

어떤 SSH Config file을 업데이트 할것이냐고 묻는데, PC user directory의 ssh config를 선택한다.

추가한 서버에 바로 연결하면, Password를 묻는다. 입력하면 VS Code Server가 자동으로 download되고, 서버에 연결된다.

연결된 후에 Explorer에서 Open Folder를 선택하면, raspberry pi의 directory를 확인할 수 있다.

Folder를 trust할것인지 묻는다. Yes를 클릭한다.