Documente Academic
Documente Profesional
Documente Cultură
Carcasa securizată sau ssh este o colecție de instrumente care utilizează un protocol securizat pentru
comunicații
Acest capitol oferă o prezentare generală a celor mai frecvente comenzi legate de utilizarea
48
Evitați utilizarea telnet, rlogin și rsh pentru a vă conecta de la distanță la serverele dvs. Aceste
protocoale mai vechi
Nu criptați sesiunea de conectare, ceea ce înseamnă că id-ul dvs. de utilizator și parola pot fi smulse
de
Instrumente cum ar fi wireshark sau tcpdump. Pentru a vă conecta în siguranță la serverele dvs.,
utilizați ssh.
Protocolul ssh este sigur în două moduri. În primul rând, conexiunea este criptată și în al doilea rând
Stratul de transport folosind un cipher simetric. Cu alte cuvinte, tunelul este criptat înainte
Apoi, autentificarea are loc (folosind id utilizator / parolă sau chei publice / private) și
Protocolul ssh își va aminti serverele la care este conectat (și vă avertizează în cazul în care ceva
Sa întâmplat suspicios).
Sistemele de operare (poate fi chiar cel mai popular pachet din lume).
Configurarea clientului ssh și a serverului se face în directorul / etc / ssh. În secțiunile următoare
Protocolul ssh are două versiuni (1 și 2). Evitați utilizarea versiunii 1 oriunde, deoarece aceasta
Conține unele vulnerabilități cunoscute. Puteți controla versiunea de protocol prin / etc / ssh /
Ssh_config pentru partea clientului și / etc / ssh / sshd_config pentru daemonul serverului openssh.
# Protocol 2,1
Protocolul 2
49
Protocolul ssh utilizează sistemul bine cunoscut al cheilor publice și private. Mai jos
http://en.wikipedia.org/wiki/Public-key_cryptography
Imaginați-vă pe Alice și pe Bob, doi oameni care vor să comunice între ei. Utilizarea publicului
Când Alice dorește să trimită un mesaj cript lui Bob, ea folosește cheia publică a lui Bob.
Bob împarte cheia publică cu Alice, dar își păstrează cheia privată privată! Din moment ce Bob este
Doar unul are cheia privată a lui Bob, Alice este sigură că Bob este singurul care poate citi
Mesaj criptat.
Când Bob dorește să verifice că mesajul a venit de la Alice, Bob folosește cheia publică a lui
Alice să verifice dacă Alice a semnat mesajul cu cheia privată. Din moment ce Alice este singura
Unul pentru a avea cheia privată a lui Alice, Bob este sigur că mesajul a venit de la Alice.
Explică doar modul de utilizare a instrumentelor ssh cu rsa și dsa. Mai multe informații despre
acestea
http://en.wikipedia.org/wiki/RSA_(algorithm)
http://en.wikipedia.org/wiki/Digital_Signature_Algorithm
Următoarea captura de ecran arată cum se utilizează ssh pentru a vă conecta la un computer la
distanță care rulează
Linux. Utilizatorul local este numit paul și se conectează ca administrator admin42 pe telecomandă
sistem.
Antetul de amprentă RSA este b5: fb: 3c: 53: 50: b4: ab: 81: f3: cd: 2e: bb: ba: 44: d3: 75.
După cum puteți vedea, userul paul este prezentat cu o amprentă de autentificare rsa de la
Sistem la distanță. Utilizatorul poate accepta această tastare da da. Vom vedea mai târziu că o
intrare va fi
Antetul de amprentă RSA este b5: fb: 3c: 53: 50: b4: ab: 81: f3: cd: 2e: bb: ba: 44: d3: 75.
Parola admin42@192.168.1.30:
Bine ați venit la Ubuntu 12.04 LTS (GNU / Linux 3.2.0-26-generic-pae i686)
* Documentație: https://help.ubuntu.com/
admin42 @ ubuserver: ~ $
Utilizatorul poate să iasă din serverul de la distanță introducând ieșirea sau utilizând Ctrl-d.
logout
paul @ ubu1204: ~ $
Această captură de ecran arată cum se execută comanda pwd de pe serverul de la distanță. Nu este
/ Home / admin42
paul @ ubu1204: ~ $
51
5.4. scp
Comanda scp funcționează la fel ca cp, dar permite sursa și destinația copiei
Fi în spatele ssh. Iată un exemplu în care copiem fișierul / etc / hosts de pe serverul de la distanță
Parola admin42@192.168.1.30:
Iată un exemplu de inversare, copierea unui fișier local într-un server de la distanță.
Parola admin42@192.168.1.30:
Pentru a configura autentificarea ssh fără parole prin chei publice / private, utilizați ssh-keygen la
Generați o pereche de chei fără o expresie de acces, apoi copiați cheia publică la destinație
În exemplul următor vom seta ssh fără parolă între Alice și Bob.
Alice are un cont pe un server Red Hat Enterprise Linux, pe care Bob îl folosește pe Ubuntu
laptop. Bob dorește să dea accesul lui Alice folosind ssh și sistemul public și privat. Acest
Înseamnă că, chiar dacă Bob își schimbă parola pe laptopul său, Alice va avea în continuare acces.
5.5.1. ssh-keygen
Exemplul de mai jos arată modul în care Alice folosește ssh-keygen pentru a genera o pereche de
taste. Alice o face
9b: ac: ac: 56: c2: 98: e5: d9: 18: c4: 2a: 51:
[Alice @ RHEL5 ~] $
5.5.2. ~ / .ssh
Director cu permisiuni corespunzătoare. Dacă creați directorul .ssh manual, atunci aveți nevoie
La chmod 700-l! În caz contrar, ssh va refuza să utilizeze cheile (cheile private private pot fi citite
Nu sigur!).
După cum puteți vedea, directorul .ssh este securizat în directorul de acasă al lui Alice.
[Alice @ RHEL5 ~] $
Bob folosește Ubuntu acasă. El decide să creeze manual directorul .ssh, așa că are nevoie
Să o securizi manual.
bob @ Laika: ~ $
Comanda ssh-keygen generează două chei în .ssh. Cheia publică este numită ~ / .ssh /
53
Fișierele vor fi numite id_dsa și id_dsa.pub când se utilizează dsa în loc de rsa.
Pentru a copia cheia publică de pe serverul lui Alice tot laptop-ul lui Bob, Alice decide să folosească
scp.
Parola bob@192.168.48.92:
Aveți grijă când copiați oa doua cheie! Nu suprascrieți prima cheie, în loc să atașați
5.5.5. authorized_keys
În directorul ~ / .ssh, puteți crea un fișier numit authorized_keys. Acest fișier poate conține
Una sau mai multe chei publice de la oameni în care aveți încredere. Acei oameni de încredere pot
folosi propriile lor persoane
Chei pentru a-și dovedi identitatea și a avea acces la contul dvs. prin ssh (fără parolă).
Exemplu arată fișierul authorized_keys al lui Bob care conține cheia publică a lui Alice.
Alice poate folosi acum ssh pentru a conecta fără parolă la laptop-ul lui Bob. În combinație cu ssh
Capacitatea de a executa comenzi pe gazda de la distanță, acest lucru poate fi util în conductele din
întreaga rețea
Diferite mașini.
Total 4
[Alice @ RHEL5 ~] $
O altă caracteristică populară a ssh este numită redirecționare X11 și este implementată cu ssh -X.
Mai jos un exemplu de redirecționare X: utilizatorul paul se loghează ca utilizator pentru a saluta pe
computerul său pentru a porni
Computerul de la salut, acesta va fi afișat pe ecran atașat local la computerul lui paul
Parola:
Linux raika 2.6.8-2-686 # 1 Tue Aug 16 13:22:48 UTC 2005 i686 GNU / Linux
[1] 30336
Utilizați ssh -v pentru a obține informații de depanare despre încercarea de conectare ssh.
...
55
5.8. sshd
Serverul ssh este numit sshd și este furnizat de pachetul serverului openssh.
Cheile publice utilizate de serverul sshd sunt localizate în / etc / ssh și pot fi citite pe plan mondial.
-rw ------- 1 rădăcină de root 668 7 iunie 2011 / etc / ssh / ssh_host_dsa_key
-rw ------- 1 rădăcină rădăcină 1679 7 iunie 2011 / etc / ssh / ssh_host_rsa_key
5.10. ssh-agent
Când generați chei cu ssh-keygen, aveți opțiunea de a introduce o expresie de acces pentru
protejare
Accesul la chei. Pentru a evita să introduceți această expresie de acces de fiecare dată, puteți adăuga
cheia
Cele mai multe distribuții Linux vor porni automat ssh-agent atunci când vă conectați.
Această captură de ecran clipă arată cum se utilizează ssh-add pentru a lista cheile care sunt
adăugate în prezent
La agentul ssh
...
0. Asigurați-vă că aveți acces la două computere Linux sau lucrați împreună cu un partener
Pentru acest exercițiu. Pentru această practică, vom numi una dintre mașinile serverului.
3. Utilizați ssh pentru a vă conecta la server, a afișa directorul dvs. curent și apoi a ieși din server.
6. (opțional, funcționează numai atunci când aveți o instalare grafică de Linux) Instalați pachetul
xeyes
Pe server și folosiți ssh pentru a rula xeyes pe server, dar afișați-l pe clientul dvs.
7. (opțional, la fel ca în precedent) Creați un marcaj în firefox, apoi închideți firefox pe client și
Server. Utilizați ssh -X pentru a rula Firefox pe ecran, dar pe computerul vecinului tău. Tu
8. Utilizați ssh-keygen pentru a crea o pereche de chei fără frază de acces. Configurați ssh fără parole
între
9. Verificați dacă permisiunile pentru fișierele cheie ale serverului sunt corecte; Lumea citită pentru
public
11. (opțional) Protejați-vă perechea de chei cu o expresie de acces, apoi adăugați această cheie la
agentul ssh
57
0. Asigurați-vă că aveți acces la două computere Linux sau lucrați împreună cu un partener
Pentru acest exercițiu. Pentru această practică, vom numi una dintre mașinile serverului.
1. Instalați sshd pe server
3. Utilizați ssh pentru a vă conecta la server, a afișa directorul dvs. curent și apoi a ieși din server.
/ Home / utilizator
6. (opțional, funcționează numai atunci când aveți o instalare grafică de Linux) Instalați pachetul
xeyes
Pe server și folosiți ssh pentru a rula xeyes pe server, dar afișați-l pe clientul dvs.
Pe serverul:
Pe client:
xeyes
7. (opțional, la fel ca în precedent) Creați un marcaj în firefox, apoi închideți firefox pe client și
Server. Utilizați ssh -X pentru a rula Firefox pe ecran, dar pe computerul vecinului tău. Tu
8. Utilizați ssh-keygen pentru a crea o pereche de chei fără frază de acces. Configurați ssh fără parole
între
9. Verificați dacă permisiunile pentru fișierele cheie ale serverului sunt corecte; Lumea citită pentru
11. (opțional) Protejați-vă perechea de chei cu o expresie de acces, apoi adăugați această cheie la
agentul ssh
58
Omul ssh-keygen
Om ssh-agent
Om ssh-add