2. diel - Raspberry Pi - Pripojenie pomocou SSH a VNC
Dnes sa pozrieme trochu bližšie na prácu s Raspberry Pi a to najmä tak, že sa k nej pripojíme z veľkého PC (prípadne iného zariadenia s obrazovkou), aby sme k nej stále nemuseli pripájať periférie. Ovládanie maliny z PC si ukážeme ako cez SSH terminál, tak graficky cez VNC.
Ak nemáte skúsenosti s operačným systémom Linux, odporúčam sa pozrieť na kurz Základy linuxe. Na maline máme Linux Raspbian as ním budeme neustále pracovať. V kurze si síce všetky kroky podrobne popíšeme, ale so základnou znalosťou Linuxu vám všetko pôjde oveľa rýchlejšie a rovnako sa vám bude veľmi hodiť.
Ssh
SSH je protokol, ktorý slúži pre šifrovanú komunikáciu medzi dvoma PC. Táto komunikácia sa najčastejšie odohráva čisto v príkazovom riadku / terminálu a umožňuje vzdialené ovládanie jedného PC z druhého. Pre Windows sa k tejto SSH komunikácii používa program PuTTY. Rovnaký program sa dá použiť aj vo väčšine linuxových distribúcií. Na Linuxe sa ale skôr priamo inštaluje SSH klient a pripája na SSH cez terminál.
Inštalácia PuTTY
Putty nainštalujeme na PC s Windows, z ktorého budeme Raspberry Pi ovládať. Pre Windows stačí len stiahnuť program na https://www.putty.org/ a ďalej nie je nutné nič inštalovať. Pokiaľ máte Linux a chceli by ste Putty vyskúšať, stačí napísať do terminálu príkaz:
sudo apt-get install putty
Čo následne spustí inštaláciu.
Po otvorení aplikácie sa nám otvorí podobné okno:
Než budeme pokračovať, je samozrejme potrebné na Raspperry Pi nastaviť, aby sme sa k nej mohli pripojiť.
Povolenie SSH na Raspberry Pi
Prvé, čo musíme urobiť, než začneme, je nastaviť nášho
root
užívateľa v Raspbianu.
Heslo root
Root užívateľ má tie najvyššie právomoci v akomkoľvek počítači s Linuxom. Zapneme si terminál kliknutím na jeho ikonku na lište:
A napíšeme príkaz:
sudo passwd root
Po zadaní hesla užívateľa sa objaví žiadosť o nové heslo a jeho potvrdenie.
Ak náš root
užívateľ funguje si môžeme vyskúšať
pomocou príkazu:
su
Zadáme novovytvorenej heslo a sme za neho prihlásenie. Pozor, v tejto chvíli môžeme systém nesprávnym zaobchádzaním poškodiť.
Bezpečnejší prístup, než sa prihlasovať za
superužívateľa, je písať sudo
pred každý príkaz v
termináli, ktorý chceme spustiť ako správca, aby nenastal problém s
oprávnením.
Kontrola siete
U Raspberry Pi aj u nášho počítača s Putty skontrolujeme, či sú obe zariadenia pripojené k rovnakej sieti. Inak spolu nebudú môcť komunikovať. Keď nie sme na Raspberry pripojení, stačí kliknúť na ikonu dvoch šípok a tu nájsť našu WiFi:
Prípadne pripojiť Raspberry cez ethernetový kábel.
Povolenie SSH servera
Pre povolenie SSH server nám bude stačiť jediný príkaz. Do terminálu napíšeme:
sudo systemctl enable ssh
Táto akcia sa dá tiež vykonať pomocou grafického prostredia v Preferences -> Raspberry Pi Configuration -> Interfaces. Tu už stačí len zakliknúť SSH: Enabled:
Štart SSH a ľahká konfigurácia
Raspberry reštartujeme. Potom budeme už mať SSH povolené. Znovu zapneme terminál a zadáme príkaz:
sudo systemctl start ssh
Tento príkaz zapne SSH server, na ktorý sa budeme s naším SSH klientom pripájať.
Konfigurácia SSH
SSH nemá kvôli bezpečnosti na svojom serveri povolené prihlásenie
root
používateľa. My si ho však povolíme, pretože chceme
malinu z PC plne ovládať. Ukážeme si pritom, ako konfigurovať SSH. Zadáme
príkaz:
sudo nano /etc/ssh/sshd_config
nano
je v Linuxe predinštalovaná aplikácia podobná
textovému editoru, ale v príkazovom riadku sa ovláda pomocou šípok.
Nájdeme si riadok s textom #PermitRootLogin
, zmažeme
#
a čokoľvek za tým zmeníme na yes
. Súbor bude
vyzerať nasledovne:
Nakoniec použijeme skratku Ctrl + X, vyberieme "yes" pomocou klávesy Y a súbor máme uložený. Stačí už len reštartovať SSH server príkazom:
service ssh restart
IP adresa Raspberry
Adresu zistíme tým, že na Raspberry buď prejdeme na značku signalizujúca internet, alebo do terminálu zadáme:
ip add
Táto adresa bude v tvare 10.0.2.10...
.
Všetko je pripravené.
Pripojenie na SSH server
Prejdeme na náš PC.
Windows
Otvoríme PuTTY a uvidíme predošlé okno:
IP adresu Raspberry zadáme do požadovaného okna a zvolíme open (ako
otvoriť spojenie). PuTTY nás upozorní na možné nebezpečenstvo, my ale
riziko prijmeme a dáme "yes". Následne si PuTTY vyžiada naše meno a heslo,
zadáme meno root
a heslo pre root
používateľa.
Linux
Ak vaše veľké PC beží na Linuxe a viac si rozumiete s terminálom, nie je nutné používať PuTTY. Stačí zadať príkaz:
ssh root@ipadresazařízení
Namiesto ipadresazařízení
napíšeme IP adresu Raspberry.
Terminál nás upozorní na bezpečnosť a potom vyzve na prihlásenie, zadáme
login root
a vaše root
heslo:
K SSH sa dá pripojiť hneď potom, čo zapojíme Raspberry do elektriny. Nemusíte k nemu ani pripojiť monitor, stačí, aby bol v dosahu našej siete. Bohužiaľ je to zradné kvôli prideľovanie IP adries.
VNC
Je super ovládať Raspberry terminál pomocou iného PC, ale niekomu to nemusí stačiť. Preto tu máme VNC Viewer. VNC je aplikácia, pomocou ktorej môžeme vidieť obrazovku a tým pádom aj celé grafické prostredie počítača, na ktorom je spustený VNC server, a to na akomkoľvek zariadení. Vzdialený počítač je možné potom tiež ovládať. Môžeme používať mobil, tablet alebo iný počítač, ktorý je buď na rovnakej alebo inej sieti. My si ale dnes ukážeme, ako spojiť dva počítače na rovnakej sieti.
Inštalácia VNC servera na Raspberry Pi
Začneme na Raspberry. Ako pred každou inštaláciou aplikácie na Linuxe skúsime, či máme všetok softvér aktuálny.
Aktualizácie softvéru
Do terminálu napíšeme príkaz:
sudo apt updade && apt upgrade
Ak je náš softvér aktuálny, môžeme pokračovať. Ak nie, potvrdíme, že chceme pokračovať, a nainštalujeme všetky aktualizácie. Táto operácia môže aj chvíľu trvať.
vncserver
Ďalším krokom je inštalácia vncserver
ako takého. Do
terminálu zadáme tento príkaz:
apt-get install tightvncserver
Inštalácia bude v termináli vyzerať nejako takto:
Konfigurácie a spustenie servera
Po úspešnej inštalácii sa môžeme vrhnúť na konfiguráciu a prvé spustenie nášho serveru. Zadáme jednoducho:
vncserver :1
Číslo jedna znamená číslo portu, na ktorom bude vncserver
spustený. Vo výsledku to potom bude napr 10.0.2.42:1
. Tieto porty
sú občas rezervované pre istú službu, treba 22
je rezervované
pre SSH.
VNC server sa nás hneď spýta na heslo, ktoré musíme kvôli bezpečnosti vždy pred pripojením zadať. Zadáme toto heslo a jeho potvrdenie.
Potom sa nás opýta, či chceme zadať aj heslo pre prístup len pre sledovanie bez ovládania, čo nepotrebujeme a preto zadáme "n" a potvrdíme.
Náš server je nastavený. V termináli to vyzerá nasledovne:
Aby sme nemuseli pripájať Raspberry k monitoru, pripojíme sa
na neho cez SSH a potom len zadáme príkaz vncserver:
, ktorým
spustíme VNC server. Z PC potom možno malinu ovládať plne graficky.
Inštalácia VNC Viewer
VNC viewer je aplikácia, pomocou ktorej sa pripájame na cudzie PC, ktorý má nainštalovaný VNC server. Budeme ju teda inštalovať do nášho veľkého PC. Pre Windows i Linux ho stiahneme z https://www.realvnc.com/...load/viewer/.
Po úspešnej inštalácii otvoríme aplikáciu a zobrazí sa nám podobné okno:
Neskôr tu budeme mať všetky naše zariadenia, na ktoré sa chceme vzdialene pripojiť.
Pripojenie na náš VNC server cez VNC Viewer
Otvoríme si VNC viewer na našom PC a ukáže sa nám okno vyššie. Tu klikneme na File -> New connection ..., čo nám otvorí nové okno:
V tomto okne nás budú zaujímať dve veci:
- "VNC server" - Sem zadáme adresu nášho serveru, čo je rovnaká IP
adresa, ktorú sme zadávali pri spojení SSH (IP adresa nášho Raspberry Pi) +
:1
, čo je číslo portu - "Name" - Sem zadáme ľubovoľný názov
Vyplnené okno bude vyzerať asi takto:
Keď máme okno vyplnené týmto spôsobom, môžeme potvrdiť tlačidlom "Ok".
Pred sebou teraz máme naše prvotné okno, v ktorom pribudol nový počítač, na ktorý sa dá pripojiť. Dvakrát naň klikneme, aby sme sa na neho pripojili. Otvorí sa nám okno a pred neho skočí červené varovanie s otázkou, či chceme pokračovať, zvolíme "Continue".
Server po nás bude požadovať autorizáciu heslom, ktoré sme vytvárali pri jeho spustení:
Po zadaní hesla a potvrdení sa nám otvorí okno, kde vidíme celú plochu
nášho Raspberry Pi: .<>
A môžeme pracovať, ako potrebujeme:)
V budúcej lekcii, Raspberry Pi - Piny a protokoly , si povieme všetko o pinoch Raspberry Pi.