[Raspberry Pi] 4. 라즈베리파이3 나스만들기 - 원격제어(ssh,xrdp,shellinabox) 소프트웨어 설치
원격 제어 소프트웨어 설치
원격 제어에는 ssh(console 환경), xrdp(gui 환경) 을 통해 구성할 것이다.
원격 제어는 sudo 그룹에 포함된 사용자 즉 "pi" 계정을 통해서만 가능하게 한다.
패키지 리스트 최신화
apt-get 의 패키지 리스트를 최신화 한다.
$ sudo apt-get update |
Openssh-Server
ssh 접속을 통해 원격으로 명령을 줄 수 있다. 특정 그룹만 허용시켜 다른 계정은 접속할 수 없게 할 것이다.
또한 sftp 를 통해 파일을 관리할 수 있다.
설치
ssh 를 통한 원격 터미널 접속을 위해 설치한다.
$ sudo apt-get install openssh-server |
설정
/etc/ssh/sshd_config 를 수정하면된다.
Port 22 | #사용할 포트이다. 필요하면 바꾸어라. |
PermitRootLogin no | # root로 접속을 막는다. |
AllowGroups sudo ssh | # sudo와 ssh란 그룹을 제외한 모든 그룹, 유저의 접속을 막을 것이다. 계정을 만들고 ssh 접속을 허용하고 싶다면 ssh 그룹에 해당 계정을 포함시켜라. |
|
|
재시작
$ sudo service ssh restart |
XRDP Server
xrdp 는 Remote Desktop Protocol(rdp) Server 이다.
윈도우 기본 원격 데스크탑 클라이언트로 리눅스에 원격 접속 할 수 있다.
설치
$ sudo apt-get install tightvncserver |
Raspbian 에 tightvncserver 설치 없이 xrdp 만 설치한다면 아래의 에러가 발생한다.
sesman connect ok sending login info to session manager, please wait... xrdp_mm_process_login_response: login successful for display... started connecting connecting to 127.0.0.1 5910 error – problem connecting |
기본적으로 설치되어 있는 realvnc server 와 충돌이 나는듯하다. 이때는 xrdp 를 지우고 tightvncserver와 같이 설치해야한다.
$ sudo apt-get remove xrdp $ sudo apt-get install tightvncserver $ sudo apt-get install xrdp |
윈도우 원격 데스크톱으로 접속할 수 있다.
Serial Port 접속 방법
이 방법은 Serial Port를 이용하여 라즈베리파이에 접속하는 방법입니다.
인터넷이 되지 않을 때 노트북으로 라즈베리파이에 원격 접속 할 수 있습니다.
리눅스하시는 분들은 다 아는 시리얼 통신입니다.
이건 참고 자료로 대신하겠습니다.
https://github.com/lurch/rpi-serial-console
스마트폰을 마우스, 키보드로 사용하기
마우스나 키보드 대신 스마트폰을 마우스, 키보드로 사용하는 프로그램이다.
스마트폰과 리눅스가 같은 네트워크 영역대에 존재 해야 한다.
Wifi Mouse 설치
Mifi Mouse 는 스마트폰을 마우스, 키보드로 사용할 수 있게 한다.
유료구매시 게임패드등도 지원한다.
스마트폰으로 장비의 마우스, 키보드로 사용하기 위해서는 일단 장비에 Wifi Mouse Server가 설치되어 있어야 한다.
Wifi Mouse Server 설치
http://wifimouse.necta.us/ 사이트의 SETUP -> Mouse Server-> Ubuntu 32bit로 다운 받아라.
다운로드 경로 : http://wifimouse.necta.us/MouseServerLinux32.zip
(따로 raspbian 용 wifi mouse server는 없다. raspbian 도 bebian 계열이라 ubuntu 32bit 버전과 호환된다.)
Wifi Mouse Server 다운로드
zip 압축풀기
$ unzip MouseServerLinux32.zip |
dep패키지 파일 dpkg 로 설치
$ sudo dpkg -i mouseserver-1.-.1-32bit.deb |
실행하기
$ /usr/sbin/mouseserver |
꼭 실행은 Desktop 환경에서만 실행된다.
console 환경에서 실행시 "cannot open xdisplay" 란 메세지를 출력하고 실행되지 않는다.
매번 실행하기 귀찮을꺼다 로그인시 자동으로 실행되게 하자.
$ sudo vi /etc/xdg/autostart/mouseserver.desktop |
[Desktop Entry] Type=Application Encoding=UTF-8 Name=mouseserver Exec=/usr/sbin/mouseserver
|
Wifi Mouse Client 설치
안드로이드, IOS 둘다 지원하며 각 앱스토어에서 Wifi Mouse 라고 검색하면 나온다.
shellinabox 설치
web base 로 동작하는 shell 이다.
웹 브라우저를 통해 일반적인 terminal 사용하듯 사용하면 된다.
원격지에서 ssh client 없이 웹 브라우저만 있으면 장비에 접속할 수 있다.
shellinabox 는 내장 웹서버로 동작해서 따로 설치 할 것이 없다.
github : https://github.com/shellinabox/shellinabox
git 으로 받아서 컴파일 해도 되지만 apt repository에 기본 제공되어 있다.
shellinabox 설치
$ sudo apt-get install shellinabox |
shellinabox 설정
/etc/default/shellinabox 파일이 설정 파일이다. port나 등등 바꿀수 있다.
$ sudo vi /etc/default/shellinabox |
# Should shellinaboxd start automatically SHELLINABOX_DAEMON_START=1
# TCP port that shellinboxd's webserver listens on SHELLINABOX_PORT=4200
# Parameters that are managed by the system and usually should not need # changing: # SHELLINABOX_DATADIR=/var/lib/shellinabox # SHELLINABOX_USER=shellinabox # SHELLINABOX_GROUP=shellinabox
# Any optional arguments (e.g. extra service definitions). Make sure # that that argument is quoted. # # Beeps are disabled because of reports of the VLC plugin crashing # Firefox on Linux/x86_64. SHELLINABOX_ARGS="--no-beep" |
브라우저로 접속하기
기본 접속 경로는 : https://{ip}:4200 이다.( "https" 다. "http"가 아니다.)
주의해야 될 점은 https 라는 것이다. shellinabox 는 자체서명인증서를 사용하므로 브라우저에서 안전하지 않은 사이트라고 나올 것이다. 이를 무시하고 접근해야 한다.
카스퍼스키나 기타 백신에서 자체서명인증서라고 사이트 접속을 막는 경우가 있다. 이때는 잠시 백신을 중지 시켜야한다.