Differences

This shows you the differences between two versions of the page.

Link to this comparison view

rl:labs:07:contents:01 [2013/11/13 21:45]
razvan.deaconescu [02. Configurare adrese IP]
rl:labs:07:contents:01 [2023/11/05 12:41] (current)
vlad_iulius.nastase
Line 1: Line 1:
-==== 01. Configurare și ștergere adrese IP ====+==== 1. [10p] Conectare SSH folosind cheie publică ​====
  
-Dorim, pentru început, ​să asigurăm conectivitate între stația ''​host''​ și ''​red''​. În acest tutorial vom folosi suita ''​iproute''​ de pe Linux pentru a realiza configurările frecvente de nivel 3 (adresare IP).+Dorim să realizăm o sesiune securizată shell la distanță (//remote shell//).
  
-Vom configura câte o adresă IP din clasa ''​192.168.0.0/​24''​ pe interfețele de legătură dintre stația ''​host'' ​și stația ''​red''​Adică între ''​host(veth-red)''​ (interfața ''​veth-red''​ de pe stația ''​host''​) ​și ''​red(eth0)''​ (interfața ''​eth0''​ de pe stația ''​red''​).+<spoiler Sumar exerciții conectare SSH (dați click)>​ 
 +Pentru exercițiile de conectare SSH, vom urma pașii: 
 +  - Conectare folosind SSH cu chei. Totul este configurat și vedem că merge. 
 +  - Copiere cheie pentru conectare SSHCheia există și vom face apoi conectare ca mai sus. 
 +  ​Crearea cheie, copiere ​și conectare SSH.
  
-Pe interfaț''​veth-red'' ​de pe stația ''​host''​ vom configura adresa IP ''​192.168.0.1'' ​cu masca ''​255.255.255.0''​ (''/​24''​ în forma prefixată):<​code>​ +Urmăm pașii în acest fel pentru ​urmări întâi comenzile ​de conectare, sintaxa SSH și rolul său și apoi să investigăm cum se întâmplă lucrurile în spate. 
-root@host:​~#​ ip address add 192.168.0.1/​24 dev veth-red + 
-</code> +În cazul în care veți avea un cont pe un server și veți dori conectare SSH cu chei, veți urma doar pasul 3
-Observați că suita ''​iproute2''​ (adică utilitarul ''​ip''​) folosește masca în format prefixat: ''/​24''​.+</spoiler>
  
-Pe interfața ​''​eth0''​ de pe stația ''​red'' ​vom configura adresa IP ''​192.168.0.2'' ​cu masca ''​255.255.255.0''​ (''/​24''​ în forma prefixată):​<​code>​ +Din contul ​''​student''​ de pe stația ''​red'' ​conectați-vă la stația ​''​host'' ​prin SSH prin rularea comenzii<​code ​bash
-root@host:~# go red+student@red:~$ ssh student@host
 [...] [...]
-root@red:~# ip address add 192.168.0.2/​24 dev eth0 +student@host:~$ 
-</​code>​ +</​code> ​Observați faptul că v-i conectat direct, fără parolă, întrucât autentificarea s-a realizat folosind cheie publică. Folosiți combinația de taste ''​Ctrl+d'' ​sau comanda ​''​exit'' ​pentru a închide sesiunea de shell la distanță.
-Pentru ​vă putea întoarce la consola stației ''​host''​ apăsați simultan tastele ​''​Ctrl+a''​, eliberați-le,​ după care apăsați tasta ''​q''​.+
  
-Pentru a testa conectivitatea între stațiile ​''​host'' ​și ''​red'' ​folosim comanda ​''​ping''​:<​code>​ +Cheia publică folosită la conectare este disponibilă în fișierul ​''​~/​.ssh/​id_rsa.pub''​. Pentru vizualizarea cheii rulați, pe stația ​''​red'' ​din contul utilizatorului ​''​student''​, comanda<​code ​bash
-root@host:~# ping 192.168.0.2 +student@red:~$ cat ~/.ssh/id_rsa.pub  
-PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data. +ssh-rsa AAAAB3NzaC1[...] student@red
-^C +
---- 192.168.0.2 ping statistics --- +
-2 packets transmitted,​ 0 received, 100% packet loss, time 1007ms+
 </​code>​ </​code>​
-Observați că nu există conectivitatea între cele două stații: pachetele sunt pierdute în întregime (''​100% packet loss''​). Motivul este că nu am activat interfețele,​ ci doar am realizat configurații de nivel 3. 
  
-Urmăriți configurația de nivel 2 al interfețelor folosind comanda ​''​ip link''​:<​code>​ +Un alt format de comandă SSH de conectare este cel de mai jos. Pe stația ''​red'' ​rulați comanda<​code ​bash
-root@host:~# ip link show dev veth-red +student@red:~$ ssh -l student host 
-10: veth-red: <​BROADCAST,​MULTICAST>​ mtu 1500 qdisc pfifo_fast state DOWN qlen 1000 +[...] 
-    link/ether 3e:​03:​f0:​76:​76:​ab brd ff:​ff:​ff:​ff:​ff:​ff +student@host:~$ 
-</​code>​ +</​code> ​La fel, închideți sesiunea de shell la distanță prin folosirea combinației de taste ''​Ctrl+d''​.
-Observați că interfața nu este activă la nivelul 2 (Legătură de date)Pentru a activa interfața folosiți comanda:<​code>​ +
-root@host:~# ip link set dev veth-red up +
-</​code>​ +
-Testați din nou conectivitatea folosiți comanda ping. În continuare nu există conectivitate. Nu am activat interfața ''​eth0'' ​de pe statia ​''​red''​. Verificați configuratia de nivel 2 a interfaței ''​eth0''​ de pe ''​red''​ și activați nivelul 2 dacă este cazul. Retestați conectivitatea între cele două stații.+
  
-Dorim să resetăm configurația la configurația inițială. Pentru acesta rulați comanda<​code>​ +La distanță, cheia publică este stocată, împreună cu alte chei publice folosite pentru conectare, în fișierul ''​~/​.ssh/authorized_keys''​. Rulați comanda de mai jos pentru ​confirma prezența cheii publice la distanță<​code ​bash
-ip address flush dev INTERFACE +student@red:​~$ ssh -l student host "cat ~/​.ssh/​authorized_keys"​ 
-</code> unde ''​INTERFACE''​ este interfața ''​eth0''​ pe stația ''​red'',​ respectiv interfața ''​veth-red''​ pe stația ''​host''​. Asigurați-vă că nu mai este configurată nici o adresă IP pe interfețe folosind comanda<​code>​ +ssh-rsa AAAAB3N[...] student@blue 
-ip address show dev INTERFACE+ssh-rsa AAAAB3N[...] student@green 
 +ssh-rsa AAAAB3N[...] student@red 
 +ssh-rsa AAAAB3N[...] student@host
 </​code>​ </​code>​
  
 +Se observă că există cheia ''​student@red''​ în fișierul de la distanță de pe stația ''​host'',​ deci se poate realiza autentificarea SSH pe bază de chei.
rl/labs/07/contents/01.1384371912.txt.gz · Last modified: 2013/11/13 21:45 by razvan.deaconescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0