본문 바로가기

라즈베리파이/왕초보

라즈베리파이[3] - 원격 접속하기

반응형

안녕하세요.

오늘은 라즈베리 파이에 원격 접속하는 방법에 대해 알아보겠습니다.

 

라즈베리파이는 기본적으로 초소형 컴퓨터이기 때문에

운영체제를 설치하면 데스크탑 처럼 사용할 수 있습니다.

하지만 메인 컴퓨터가 따로 있는데 모니터가 하나밖에 없다면

메인 컴퓨터와 연결해두었던 모니터와 키보드, 마우스 등을

매번 라즈베리파이에 연결해줘야 한다면 무척 불편할 것입니다.

 

그래서 보통 라즈베리파이에 원격 접속을 가능하게 만들어두고

메인피씨에서 바로 작업을 진행하곤 합니다.

 

라즈베리파이의 기본 운영체제인 라즈비안은 리눅스 기반의 운영체제인데

리눅스가 기본적으로 다중 사용자(Multi User)를 지원하므로

여러명의 사용자가 각각 원격 접속을 통해 메인 PC에서 라즈베리파이에 접속 할 수 있습니다.

즉, 동시에 두명 이상의 사용자가 라즈베리파이의 자원을 사용할 수 있다는 뜻입니다.

 

 

1. 라즈베리파이 설정하기

라즈베리파이에 원격 접속하기 위해서는 몇가지 설정을 해주어야 합니다.

우선은 SSH로 접속할 수 있도록 설정을 해주겠습니다.

 

지난시간에 SD카드에 라즈비안을 구웠었는데

해당 메모리 카드에 설정파일을 집어넣어 SSH 설정을 해주면 됩니다.

 

우선은 아래와 같이 아무 폴더나 여신 후

상단의 보기탭을 누르시고

우측의 파일확장명에 체크해줍니다.

이후 바탕화면에 마우스 오른쪽 버튼을 클릭 해주신 후

[새로만들기] - [비트맵 이미지] 순서로 눌러줍니다. 

이후 만들어진 파일의 이름을 SSH로 바꿔주시면 됩니다.

이때 .bmp라고 적혀있는 확장자를 제거해주셔야 합니다.

이번에는 WIFI 접속 설정을 해주겠습니다.

바탕화면에서 마우스 오른쪽 버튼을 클릭하신 후

텍스트 문서 파일을 만들어줍니다.

이후 아래 사진과 같이 내용을 입력해줍니다.

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
    ssid="네트워크명"
    psk="비밀번호"
}

해당 내용을 입력하신 후

파일 이름을 wpa_supplicant.conf로 바꿔줍니다.

이제 만들어진 두개의 파일을

SD카드의 최상위 폴더인 boot폴더에 옮겨줍니다.

 

2. IP 확인하기

원격으로 접속하기 위해서는 

우선 라즈베리파이의 IP를 알아야합니다.

 

인터넷창을 열어주신 후

주소란에 192.168.0.1이라고 입력 후 접속합니다.

아이피타임 공유기를 사용하고 계신다면 위와 같은 화면이 뜰텐데

로그인을 진행합니다.

아래와 같이 내부 네트워크 정보탭에서 라즈베리파이의 IP를 확인하시면 됩니다.

 

 

 

3. SSH(Secure SHell)로 VNC(Virtual Network Computing) 설정하기

SSH란 명령어를 입력하여

원격으로 컴퓨터를 제어하는

일종의 통신 프로토콜을 의미합니다.

 

VNC도 원격으로 컴퓨터를 제어하는 시스템인데

SSH는 명령어를 기반으로 제어하고

VNC는 그래픽 기반으로 제어한다는 것이 차이점입니다.

 

SSH로 접속하기 위해서는

아래 링크로 접속하여 PuTTY를 다운받아줍니다.

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

 

Download PuTTY: latest release (0.73)

This page contains download links for the latest released version of PuTTY. Currently this is 0.73, released on 2019-09-29. When new releases come out, this page will update to contain the latest, so this is a good page to bookmark or link to. Alternativel

www.chiark.greenend.org.uk

링크로 접속하신 후 아래와 같은 화면에서 설치파일을 다운받습니다. 

설치를 진행하시고 PuTTY를 실행시킨 후

아래와 같은 화면에서 아까 확인해둔 IP를 입력하시고 Open 버튼을 클릭합니다.

(위 사진은 IP가 192.168.0.24이고 아래 사진의 IP는 192.168.0.12인 이유는 IP를 바꿔줬기 때문입니다.)

이후 터미널창이 뜨는데

라즈베리파이의 기본 로그인 ID는 pi이고, 비밀번호는 raspberry입니다.

순서대로 입력하고 로그인 하시면 명령어를 입력하실 수 있습니다.

 

이번엔 VNC를 설정해보도록 하겠습니다.

아래와 같이 명령어를 입력하신 후 엔터키를 입력합니다.

sduo raspi-config

명령어를 입력하면 아래와 같은 화면이 뜹니다.

Interfacing Options를 선택한 후 엔터를 눌러줍니다.

이번엔 VNC를 선택하고 엔터를 누릅니다.

Yes를 선택하고 엔터를 눌러주시면 VNC접속 설정이 완료됩니다.

이제 VNC 프로그램을 다운받아보겠습니다.

우선 아래 링크로 접속합니다.

https://www.realvnc.com/en/connect/download/viewer/

 

Download VNC Viewer | VNC® Connect

 

www.realvnc.com

링크의 사이트에서 아래 버튼을 눌러 다운로드를 진행해줍니다.

 

다운받은 설치파일을 실행하여 설치를 진행하시고

VNC Viewer를 실행하면

아래와 같은 창이 뜰텐데

VNC 사용 데이터를 제공하겠냐는 질문이므로

체크박스를 해제하고 GOT IT을 눌러줍니다.

이번엔 VNC 프로그램의 상단에 라즈베리파이의 IP 주소를 입력한 후 엔터를 눌러줍니다.

그럼 아래와 같이 로그인 정보를 입력하라고 할텐데

라즈베리파이의 기본 로그인 정보는

ID : pi

PW : raspberry

입니다.

OK 버튼을 눌러주시면 접속이되며

아래와 같은 화면이 뜹니다.

 

 

4. Cannot currently show the desktop 오류 해결하기

VNC 접속을 시도하면 간혹 아래와 같은 오류가 뜰 수 있습니다.

해당 오류는 라즈베리파이의 해상도가 출력장비와 맞지않아 발생하는 문제입니다.

우선 SSH로 접속하여 아래와 같은 명령어를 입력합니다.

sudo raspi-config

이번엔 아래와 같이

Advanced Options 항목을 선택합니다.

다음으로

Resolution 항목을 선택합니다.

아래와 같이

원하는 해상도를 선택하신 후 Ok를 눌러주신 후 재부팅을 해주시면

정상적으로 VNC접속 화면을 확인하실 수 있습니다.

 

 

5. 고정 아이피 설정

원격 접속을 할때 IP를 이용해 접속을 해줘야하는데

통상적인 환경에서는 매번 IP가 변경되기 때문에

고정아이피를 설정해줘야 외부에서 접속하기 수월해집니다.

 

우선 SSH에 접속하여

아래와 같은 명령어를 입력합니다.

netstat -nr

그럼 아래와 같은 화면이 뜰텐데

붉은색 체크박스로 표시해둔 부분을 잘 기억해둡니다.

이번엔 아래와 같은 명령어를 입력합니다.

sudo nano /etc/dhcpcd.conf

그럼 아래와 같은 화면이 뜰텐데 여기서 IP를 설정해주는 코드를 찾아주겠습니다. 

ctrl + W를 입력하여 Search 모드로 들어가신 후

아래와 같이 example static ip를 입력합니다.

이후 아래 구문과 똑같이 만들어주시면 됩니다.

#Example static IP configuration:
interface eth0  #<-- 유선랜 사용시 eth0라고 입력하고
interface wlan0 #<-- 무선랜 사용시 wlan0라고 입력합니다.
static ip_address= 192.168.0.12/24  #<--설정하고자 하는 IP입니다.
#static ip6_address=fd51:42f8:caae:d92e::ff/64
static routers=192.168.0.1  #<--공유기의 IP입니다.
static domain_name_server=8.8.8.8

ctrl + X를 입력해 설정을 저장하고 편집기를 빠져나가신 후

sudo reboot 명령어를 통해 라즈베리파이를 리부팅 시켜줍니다.

이후 ifconfig 명령어를 통해 변경된 IP를 확인해줍니다.

반응형