Differences

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

Link to this comparison view

rl:labs:08:contents:09 [2013/11/20 21:19]
razvan.deaconescu [9. Conectare SSH folosind cheie publică]
rl:labs:08:contents:09 [2023/11/05 12:57] (current)
vlad_iulius.nastase
Line 1: Line 1:
-==== 9. Conectare SSH folosind cheie publică ====+==== 09. [10p] Configurare persistentă rutare și NAT ====
  
-Dorim să realizăm o sesiune securizată shell la distanță (//remote shell//).+Configurările realizate până în acest moment sunt temporare. La repornirea stației ''​host''​ regulile de NAT se pierd. ​Dorim să configurăm în mod persistent rutarea și regulile NAT.
  
-<spoiler Sumar exerciții conectare SSH (dați click)>​ +Pentru ​a configura în mod persistent rutarea pe stația ''​host''​edităm fișierul ''/​etc/​sysctl.conf'' ​și decomentăm linia<​code>​ 
-Pentru ​exercițiile de conectare SSHvom urma pașii: +net.ipv4.ip_forward=1 
-  - Conectare folosind SSH cu cheiTotul este configurat ​și vedem că merge. (exercițiul [[:​rl:​labs:​08:​contents:​09]]) +</​code>​ Astfel la fiecarea pornire a sistemuluirutarea va fi activată.
-  - Copiere cheie pentru conectare SSHCheia există și vom face apoi conectare ca mai sus(exercițiul [[:​rl:​labs:​08:​contents:​11]]) +
-  - Crearea cheiecopiere și conectare SSH(exercițiul [[:​rl:​labs:​08:​contents:​12]])+
  
-Urmăm pașii ​în acest fel pentru a urmări întâi comenzile de conectare, sintaxa SSH și rolul u șapoi să investigăm cum se întâmplă lucrurile în spate.+<note important>​ 
 +Rutarea nu se va activa ​în mod automat după ce decomentați linia din fișier. Trebuie ​să resetațsistemul sau să rulați comanda<​code bash> 
 +sysctl -p 
 +</​code>​ pentru a aplica modificările din fișierul de configurare ''/​etc/​sysctl.conf''​. 
 +</​note>​
  
-Î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+Pentru a salva toate regulile ''​iptables''​ introduse ​în sistem se poate folosi comanda ''​iptables-save''​. În mod implicit aceste reguli sunt afișate pe consolăNoi le vom salva în ''/​etc/​iptables-rules''​ folosind comanda:<​code bash> 
-</spoiler>+root@host:​~#​ iptables-save > /​etc/​iptables-rules 
 +</code>
  
-De pe stația ​''​red'',​ folosind user-ul ''​**student**''​ conectați-vă la stația ''​host''​ prin SSH prin rularea comenzii<code bash> +Regulile pot fi restaurate folosind comanda ​''​iptables-restore < /​etc/​iptables-rules''​. Așadar trebuie să configurăm sistemul să execute această comanda ​la pornire. Modul cel mai uzual pentru a face acest lucru este adăugarea acestei comenzi în fișierul de configurare al interfeței:<code bash> 
-student@red:~$ ssh student@host+root@host:~# cat /​etc/​network/​interfaces
 [...] [...]
-student@host:​~$ +# The primary network interface 
-</​code>​ Observați faptul că v-aț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ță. +auto eth0 
- +iface eth0 inet dhcp 
-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> +        up iptables-restore ​< /etc/iptables-rules
-student@red:​~$ cat ~/.ssh/id_rsa.pub  +
-ssh-rsa AAAAB3NzaC1[...] student@red+
 </​code>​ </​code>​
  
-Un alt format de comandă SSH de conectare este cel de mai jos. Pe stația ''​red''​ rulați comanda<​code bash> +După ce ați făcut toate configurărilereporniți stația ''​host''​:
-student@red:​~$ ssh -l student host +
-[...] +
-student@host:​~$ +
-</​code>​ La felînchideți sesiunea de shell la distanță prin folosirea combinației de taste ''​Ctrl+d''​.+
  
-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 a confirma prezența cheii publice la distanță<code bash> + 
-student@red:​~$ ssh -l student host "cat ~/​.ssh/​authorized_keys"​ +<code bash> 
-ssh-rsa AAAAB3N[...] student@blue +Dashboard ​-> Drop Down in dreptul masinii virtuale ​-> Soft Reboot Instance
-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.+ 
 +În urma repornirii ​stației ''​host'', ​va trebui sa rerulam scripturile de pregatire a infrastructurii pentru a recrea containerele. Vom vedea aplicată rutarea și regulile ​de NAT: (in cazul in care rutarea nu este activata, inseamna ca a fost suprascrisa de catre scripturile de pregatire a infrastructurii si va trebui s-o activati din nou)<​code bash> 
 +root@host:​~#​ sysctl net.ipv4.ip_forward 
 +net.ipv4.ip_forward = 1 
 +root@host:​~#​ iptables -t nat -L -n -v 
 +Chain PREROUTING (policy ACCEPT 30 packets, 5694 bytes) 
 + pkts bytes target ​    prot opt in     ​out ​    ​source ​              ​destination ​         
 +    0     0 DNAT       ​tcp ​ --  eth0   ​* ​      ​0.0.0.0/​0 ​           0.0.0.0/​0 ​           tcp dpt:10022 to:​192.168.1.2:​22 
 +    0     0 DNAT       ​tcp ​ --  eth0   ​* ​      ​0.0.0.0/​0 ​           0.0.0.0/​0 ​           tcp dpt:20022 to:​192.168.2.2:​22 
 +    0     0 DNAT       ​tcp ​ --  eth0   ​* ​      ​0.0.0.0/​0 ​           0.0.0.0/​0 ​           tcp dpt:30022 to:​192.168.3.2:​22 
 +    0     0 DNAT       ​tcp ​ --  eth0   ​* ​      ​0.0.0.0/​0 ​           0.0.0.0/​0 ​           tcp dpt:10023 to:​192.168.1.2:​23 
 +    0     0 DNAT       ​tcp ​ --  eth0   ​* ​      ​0.0.0.0/​0 ​           0.0.0.0/​0 ​           tcp dpt:20023 to:​192.168.2.2:​23 
 +    0     0 DNAT       ​tcp ​ --  eth0   ​* ​      ​0.0.0.0/​0 ​           0.0.0.0/​0 ​           tcp dpt:30023 to:​192.168.3.2:​23 
 + 
 +Chain INPUT (policy ACCEPT 2 packets, 534 bytes) 
 + pkts bytes target ​    prot opt in     ​out ​    ​source ​              ​destination ​         
 + 
 +Chain OUTPUT (policy ACCEPT 16 packets, 958 bytes) 
 + pkts bytes target ​    prot opt in     ​out ​    ​source ​              ​destination ​         
 + 
 +Chain POSTROUTING (policy ACCEPT 15 packets, 918 bytes) 
 + pkts bytes target ​    prot opt in     ​out ​    ​source ​              ​destination ​         
 +    1    40 MASQUERADE ​ all  --  *      eth0    0.0.0.0/​0 ​           0.0.0.0/0 
 +</​code>​
rl/labs/08/contents/09.1384975183.txt.gz · Last modified: 2013/11/20 21:19 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