고급 예제

다양한 도구들을 가지고 마음껏 응용해보세요.

라즈베리 파이-원격제어 하기

2014-12-10 13:45:32

Secure Shell을 이용하여 원격 접속하기


라즈베리 파이를 사용할려면 매번 모니터 연결과 키보드, 마우스 연결 하기도 번거롭고 라즈베리 파이의 장점인 휴대성도 떨어집니다.
(특히 전 노트북에 모니터 연결하여 듀얼로 사용하는데 라즈베리 파이를 사용할려면 노트북에 연결된 모니터 선을 빼서 라즈베리 파이에 사용하고, 다시 연결해서 사용하기 때문에 매우 불편합니다.)

거기에 좁은 책상위에 노트북과 모니터, 라즈베리 파이, 키보드, 마우스까지 다 올려 놓을려니 복잡하고, 불편합니다.

이러한 문제를 해결하기 위해 원격으로 라즈베리 파이를 제어하여 라즈베리 파이에 연결되는 모니터, 키보드, 마우스 없이도 라즈베리 파이를 사용할 수 있도록 하겠습니다.

 

 

 


우선 라즈베리 파이에서 SSH 설정과 원격 접속에 필요한 네트워크 IP를 확인해 보겠습니다.

1. SSH 설정을 하기 위해 터미널에서 sudo raspi-config를 입력하여 설정창으로 들어 갑니다.
 
2. 밑의 화면이 나오면 8번 Advanced Options 선택 합니다.


3. 그다음 A4 SSH를 선택 한 후 Enable을 선택 하여 SSH를 사용 가능하게 해줍니다. 그 후 Finish로 설정창을 나옵니다.

4. 다시 터미널에서 ifconfig를 입력하면 라즈베리 파이의 네트워크 IP를 확인 할 수 있습니다. 
(제 네트워크 IP는 192.168.150.137 입니다. 원격으로 접속할 때 필요하므로 기억해 둡니다.)


이번엔 다른 컴퓨터에서 Putty를 받고 이를 이용해서 원격 접속을 해보겠습니다.

1. Putty프로그램을 받아야 합니다. 링크 에서 Putty를 받고 실행 시켜 줍니다.(따로 설치할 필요 없이 다운 받은 후 .exe파일을 실행 해 주면 됩니다.)
 
2. 실행 하면 Configuration창이 나옵니다. Host Name에 라즈베리 파이 네트워크 IP를 적은뒤 Open을 해줍니다.(포트번호는 기본 22로 되어있습니다.)

3. 실행 하면 "login as : " 가 나오는데 라즈베리 파이 접속 시 썻던 ID와 Password를 적어주시면 됩니다. (기본은 pi / raspberry 로 되어있습니다.)
   ID와 Password를 입력 한 후 밑의 화면과 같이 나오면 연결이 완료 되었습니다. (Shell을 이용할 땐 GUI를 지원하지 않으므로 startx 같은 GUI 명령어는 입력하지 마세요.)

VNC를 이용하여 원격 연결 하기

위에서 사용한 Shell은 GUI환경을 지원하지 않아서 아직 익숙하지 않은 분들은 사용하기 힘듭니다. 그래서 이번엔 VNC를 이용하여 startx 화면이 전부 나오도록 원격 접속을 해보겠습니다.



우선 라즈베리 파이에 Tight VNC Server를 설치하고, 실행해 보겠습니다.
(밑의 과정들은 산딸기마을에서 참고 하였습니다.)

1. tightvncserver를 설치 합니다.

sudo apt-get update
sudo apt-get install tightvncserver


2. 설치가 완료되면 vncserver 를 입력하여 VNC서버를 실행 합니다.
  vncserver가 실행이 되면 password 입력 창이 나옵니다. 여기에 접속 시 필요한 Password을 입력하고 확인으로 한번더 적어 줍니다.
 (Password 설정시 너무 짧거나 Password확인시 같지 않으면 설정이 안됩니다.)

3. vncserver를 실행 했으면 제대로 실행 중인지 확인해 봅니다. 

sudo netstat -tulpn


tight VNC는 포트 5901에서 실행 되므로 목록중에 포트번호가 5901인게 있는지 확인해 줍니다.
(밑의 화면과 같이 0.0.0.0.0:5901가 LISTEN 상태로 되어있으면 정상작동 되는 중입니다.)


이번엔 원격으로 사용할 컴퓨터에서 Tight VNC를 설치 한 후 실행해 보겠습니다.

1. 링크에 들어가셔서 현재 OS에 맞는 TightVnc를 받은 후 설치 합니다.

2. 밑의 창이 나오면 Remote Host칸에 자신의 라즈베리 파이 네트워크 IP와 포트번호 5901를 적습니다. (EX: 192.168.150.137::5901) 그 다음 Connect 합니다.


3. Connect 후 다음 창에 Password를 입력하면 연결이 완료됩니다.
 


위에 과정은 라즈베리 파이에서 vcnserver를 실행 시켜줘야 해서 결국 모니터, 키보드, 마우스를 연결해야 합니다.
그래서 추가로 라즈베리 파이 부팅시 바로 vcnserver를 실행 시켜서 전원만 연결하면 자동으로 원격 연결을 할 수 있도록 해보겠습니다.

1. 터미널에서 sudo nano /etc/init.d/tightvncserver 를 입력 하여 파일을 생성 후 밑의 코드를 입력 후 저장합니다.
(ctrl + o --> 엔터 --> ctrl + x 해주시면 저장 하고 그대로 nano 에디터를 종료 합니다.)

 

#! /bin/sh
# /etc/init.d/vncboot
 

USER=root
HOME=/root
 

export USER HOME
 

case “$1″ in
start)
echo “Starting VNC Server”
#Insert your favoured settings for a VNC session
/usr/bin/vncserver :0 -geometry 1280×800 -depth 16 -pixelformat rgb565
;;
 

stop)
echo “Stopping VNC Server”
/usr/bin/vncserver -kill :0
;;
 

*)
echo “Usage: /etc/init.d/vncboot {start|stop}”
exit 1
;;

esac

exit 0


2. 위에서 만든 파일에 루트 권한을 줍니다.

 

 

sudo chmod 755 /etc/init.d/tightvncserver


3. tightvncserver가 부팅시 자동으로 실행 할 수 있도록 update-rc.d 에 등록 합니다.

 

 

sudo update-rc.d tightvncserver defaults


4. 그 다음 rc.local 파일을 열어줍니다.

 

 

sudo nano /etc/rc.local


rc.local 파일에서 fi ~ exit 0 사이에 빈칸이 있는데 여기에 밑의 코드를 입력하여 부팅 시 vncserver 명령을 실행 합니다.

 

 

 

su pi -c vncserver


라즈베리 파이 리부팅 하면 이제부터 부팅시 자동으로 vncserver를 실행 합니다. 라즈베리 파이에 전원만 연결하면 바로 다른 컴퓨터에서 원격 접속 할 수 있습니다.
(라즈베리 파이 부팅시간이 있으므로 약간 시간을 두고 접속해야 합니다.)

 

 

 

 

kocoafabeditor

항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!

라즈베리 파이, 원격 제어, 기타

이희원 2015-11-20 21:53:25

자동 vncserver실행하는 것 3번 sudo update-rc.d tightvncserver defaults 를 입력하게 되면 다음과 같은 오류메시지가 뜹니다.
insserv: warning: script 'K01tightvncserver' missing LSB tags and overrides
insserv: warning script 'tightvncserver' missing LSB tags and oerrides

그리고 역시나 vncserver는 자동으로 실행되지 않습니다. 어떻게 해결할 수 있을까요?

공민제 2017-02-11 14:14:36

tightVNC 에서 호스트 IP 입력하고 connect를 누르니 서버에서 연결이 거부됬다고 나오네요...
어떻게 해야되죠?