Differences

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

Link to this comparison view

rl:labs:08:contents:09 [2013/09/22 00:52]
mihai.carabas [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//)De pe stația ''​red'',​ folosind user-ul ''​**student**''​ conectați-vă la stația ​''​host'' ​prin SSH prin rularea comenzii<​code bash> +Configurările realizate până în acest moment sunt temporareLa repornirea ​stației ''​host'' ​regulile de NAT se pierd. Dorim să configurăm în mod persistent rutarea șregulile NAT.
-ssh student@host +
-</​code>​ Observați faptul că v-ați conectat direct, fără parolă, întrucât autentificarea s-a realizat folosind cheie publică. Folosițcombinația de taste ''​Ctrl+d''​ sau comanda ''​exit''​ pentru a închide sesiunea de shell la distanță.+
  
-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> +Pentru a configura în mod persistent rutarea pe stația ''​host'',​ edităm fișierul ''/​etc/​sysctl.conf''​ și decomentăm linia<​code>​ 
-cat ~/.ssh/id_rsa.pub+net.ipv4.ip_forward=1 
 +</​code>​ Astfel ​la fiecarea pornire a sistemului, rutarea va fi activată
 + 
 +<note important>​ 
 +Rutarea nu se va activa ​în mod automat după ce decomentați linia din fișier. Trebuie să resetați 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>​ 
 + 
 +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> 
 +root@host:~# iptables-save > /etc/iptables-rules
 </​code>​ </​code>​
  
-Un alt format de comandă SSH de conectare este cel de mai josPe stația ''​red'' ​rulați comanda<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> 
-ssh -l student host +root@host:​~#​ cat /​etc/​network/​interfaces 
-</​code> ​La fel, închideți sesiunea de shell la distanță prin folosirea combinației de taste ''​Ctrl+d''​.+[...] 
 +# The primary network interface 
 +auto eth0 
 +iface eth0 inet dhcp 
 +        up iptables-restore < /​etc/​iptables-rules 
 +</​code>​ 
 + 
 +După ce ați făcut toate configurările,​ reporniți ​stația ''​host''​
 + 
 + 
 +<code bash> 
 +Dashboard ​-> Drop Down in dreptul masinii virtuale -> Soft Reboot Instance 
 +</​code>​ 
 + 
 + 
 +În urma repornirii stației ''​host''​, va trebui sa rerulam scripturile de pregatire a infrastructurii pentru a recrea containereleVom 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 ​        
  
-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> +Chain POSTROUTING (policy ACCEPT 15 packets918 bytes) 
-ssh -l student host "cat ~/.ssh/authorized_keys"​+ 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>​ </​code>​
rl/labs/08/contents/09.1379800339.txt.gz · Last modified: 2013/09/22 00:52 by mihai.carabas
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