Cuprins:
- Pasul 1: A) Creați un fișier PPK privat, B) Creați o cheie publică și C) Copiați-l pe serverul de la distanță
- Pasul 2: D) Convertiți fișierul privat PPK în cheia OpenSSH și E) Copiați-l în Raspberry Pi
- Pasul 3: Considerații de securitate
Video: Conexiune SSH / SCP securizată de la Raspberry Pi la Cloud Server pentru backup-uri și actualizări: 3 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Scopul acestei instrucțiuni este de a vă arăta cum să vă conectați automat și sigur de la Raspberry Pi la un server cloud la distanță (și invers) pentru a efectua backup-uri și actualizări etc. Pentru a face acest lucru, utilizați perechi de chei SSH care evitați necesitatea de a vă aminti parolele și de a vă oferi o conexiune mai sigură.
(CAVEAT - Nu încercați acest lucru dacă nu sunteți competent în configurarea permisiunilor Linux, altfel veți face sistemele dvs. mai vulnerabile la atacurile hackerilor.)
Cerințe
1. Raspberry Pi cu o interfață de linie de comandă (CLI) așa cum ați vedea pe Putty.
2. Acces la un server cloud la distanță găzduit de către OVH sau DigitalOcean, cu un CLI.
3. Un laptop Windows sau PC cu Putty și PuttyGen instalate.
Ipoteze
1. Aveți cunoștințe despre comenzile Linux
2. Puteți accesa serverul dvs. la distanță folosind procese manuale convenționale, de ex. FTP.
3. Veți avea preinstalat PuttyGen pe computerul Windows
Pași
În rezumat, - A se vedea Figura 1
a) Pe computerul dvs. Windows, creați un fișier privat PPK utilizând PuttyGen
b) Pe computerul dvs. Windows, creați un fișier public PPK folosind PuttyGen (acest lucru se face automat la pasul a)
b) Pe computerul dvs. Windows, copiați cheia publică de pe computerul Windows pe serverul cloud de la distanță
d) Pe computerul dvs. Windows, convertiți fișierul Private PPK într-o cheie OpenSSH folosind PuttyGen
e) Copiați cheia OpenSSH de pe computerul dvs. Windows pe Raspberry Pi
f) Testați accesul și transferul de fișiere de pe Raspberry Pi pe serverul dvs. la distanță
Pasul 1: A) Creați un fișier PPK privat, B) Creați o cheie publică și C) Copiați-l pe serverul de la distanță
Pentru a crea un fișier privat PPK, deschideți PuttyGen pe computerul Windows. Puteți accesa PuttyGen făcând clic dreapta pe pictograma chit de pe bara de activități Windows. Din meniul PuttyGen, selectați cheia, apoi generați o pereche de chei, selectați opțiunea Cheie SSH2-RSA. Vi se va solicita să setați o expresie de acces atunci când creați cheia privată și, dacă setați o expresie de acces, vi se va cere în timpul operațiilor viitoare. Salvați cheia privată undeva în siguranță pe computerul dvs. Windows. Apoi veți vedea cheia publică în fereastra ferestrei, așa cum se arată în Figura 2.
Apoi, să transferăm cheia publică pe serverul cloud la distanță. Deschideți o sesiune Putty pe serverul cloud la distanță folosind Putty. Să presupunem că v-ați conectat ca remoteuser1, apoi efectuați următoarele pe CLI-ul serverului cloud la distanță
cd / home / remoteuser1 (dacă nu există deja) mkdir.ssh
nano.ssh / authorized_keys (Veți vedea un ecran gol - lipiți cheia publică prezentată în figura 2, apoi salvați și închideți acest fișier)
chmod 0700.ssh
chmod 0600 /home/remoteuser1/.ssh/authorized_keys
Pasul 2: D) Convertiți fișierul privat PPK în cheia OpenSSH și E) Copiați-l în Raspberry Pi
Pentru a converti cheia privată în OpenSSH, deschideți PuttyGen și apoi deschideți cheia privată pe care ați creat-o mai devreme - accesați opțiunea Conversii din meniu, apoi alegeți Exportă cheia OpenSSH - asigurați-vă că fișierul pe care îl creați are tipul de fișier.key. Salvați-l undeva în siguranță, apoi deschideți o sesiune de chit pentru a vă conecta la Raspberry Pi. Copiați fișierul cheie în directorul principal de pe Raspberry Pi al contului de utilizator pe care l-ați utilizat pentru a vă conecta la Raspberry Pi. Spuneți că cheia se numește pitobot.key, apoi urmați acești pași:
cd / home / pi
sudo mv pitobot.key / home / pi /
sudo chmod 600 pitobot.key
Acum sunteți gata să testați dacă instalarea dvs. are succes - Din nou, acest lucru se face din Pi. Amintiți-vă, remoteuser1 este contul de pe serverul cloud la distanță în al cărui director de acasă ați salvat cheia publică, iar adresa IP este adresa IP a serverului cloud la distanță.
În primul rând din Raspberry Pi, să ne conectăm la serverul cloud la distanță folosind Putty. Tastați următoarele comenzi pe Raspberry PI CLI. (Dacă ați setat o expresie de acces atunci când ați creat o cheie privată, vi se va cere acum.)
sudo ssh -i /home/pi/pitobot.key remoteuser1 @ ipaddress
Acest lucru vă va conecta la CLI a serverului cloud la distanță din directorul principal al utilizatorului de la distanță1. Prin tastarea 'exit; veți reveni la CLI-ul Raspberry Pi.
Apoi, încercați să transferați fișiere de pe serverul cloud la distanță pe Raspberry Pi. Utilizați următoarele comenzi: (Din nou, dacă ați setat o expresie de acces atunci când ați creat o cheie privată, vi se va cere acum.)
sudo scp -i /home/pi/pitobot.key remoteuser1 @ ipaddress: //var/www/html/*.* / home / pi /
Aceasta va transfera toate fișierele din folderul / var / www / html / de pe serverul de la distanță în folderul / home / pi / de pe Raspberry Pi. (Colonul este foarte important) Puteți, desigur, să schimbați ordinea comenzilor și să transferați fișiere de pe Pi pe serverul de la distanță.
Pasul 3: Considerații de securitate
În timp ce abordarea perechii de chei SSH îmbunătățește securitatea, luați în considerare următoarele:
1. Cu perechile de chei SSH activate, ar trebui să luați în considerare eliminarea posibilității utilizatorilor de a se conecta direct la serverul de la distanță (De asemenea, puteți accesa serverele dvs. folosind perechile de chei Putty pe Windows utilizând aceeași pereche de chei și ați putea lua în considerare și dezactivarea conectați-vă și la Pi). Aveți grijă dacă alegeți să faceți acest lucru și să nu luați o abordare big bang. Pentru a face acest lucru, trebuie să dezactivați câteva configurații în fișierul de configurare ssh. Fii foarte atent să faci asta. Comenzile sunt
nano / etc / ssh / sshd_config
Și în cadrul fișierului efectuați următoarele modificări
Parola Autentificare nr
Utilizați nr
Salvați, ieșiți, apoi reporniți SSH prin systemctl reporniți ssh (Aceasta este pentru Debian. Poate fi diferit pe diferite distribuții Linux)
2) Păstrați toate cheile în siguranță, altfel riscați o încălcare a datelor sau să nu aveți acces la serverele dvs. Vă recomandăm să le păstrați într-un seif sigur, cum ar fi bitwarden.com, și să restricționați accesul la acesta prin politica dvs. de control al accesului.
3) Utilizarea unei expresii de acces îmbunătățește securitatea, dar poate face mai dificilă automatizarea lucrărilor cron etc. Decizia de a utiliza această caracteristică și alte caracteristici ar trebui să fie determinată de evaluarea riscurilor, de exemplu, dacă prelucrați date cu caracter personal, atunci aveți nevoie de controale mai mari / proporționale.
Recomandat:
Proiectați-vă PCB-ul folosind Sprint Layout 2020 cu noi actualizări: 3 pași
Proiectați-vă PCB-ul folosind Sprint Layout 2020 cu noi actualizări: majoritatea iubitorilor de electronice realizează circuite electronice folosind diferite metode. uneori trebuie să facem PCB pentru a obține o ieșire adecvată și pentru a reduce zgomotele și finisajul compact. zilele noastre avem o mulțime de software pentru a proiecta propriul PCB. Dar problema este cea mai
Lampă Xenon Plasma + ACTUALIZĂRI !: 6 pași
Lampă cu plasmă Xenon + ACTUALIZĂRI !: Mai întâi vreau să încep acest lucru cu … * CITIȚI ÎNTOTDEAUNA TOTUL INSTRUCTABIL ÎNAINTE S-O FACI SAU S-O PUTEȚI REGRETA! sunt incapabili să facă acest lucru într-un mod sigur
Terminal Python pentru conexiune Pi Arduino ieftină: 4 pași
Terminal Python pentru conexiune Pi Arduino ieftină: Raspberry Pi este o mașină Linux, deci există probabil o mulțime de aplicații terminale pentru aceasta. Dar am scris una nouă în Python, de ce m-am deranjat? Citiți mai departe. Dacă faceți un proiect care utilizează atât Pi, cât și Arduino, probabil că aveți nevoie
Noul Raspberry Pi 4 USB 3.0 Personal Cloud cu RAID Backup: 10 pași
Noul Raspberry Pi 4 USB 3.0 Personal Cloud cu RAID Backup: Bună ziua și bine ai venit. Astăzi ne vom uita la modul de construire a propriului sistem software Cloud care vă va permite să stocați informațiile dvs. personale într-un nor pe care îl controlați și îl întrețineți. Acest nor va utiliza, de asemenea, o oglindă RAID 1, astfel încât să
Conexiune TCP / IP prin GPRS: Cum să trimiteți date către server utilizând modulul SIM900A: 4 pași
Conexiune TCP / IP prin GPRS: Cum să trimiteți date către server folosind modulul SIM900A: În acest tutorial vă voi spune despre cum să trimiteți date către serverul TCP utilizând modulul sim900. De asemenea, vom vedea cum putem primi date de la server la client (modul GSM)