User Tools

Site Tools


sysadmin:ssh

Differences

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

Link to this comparison view

Next revision
Previous revision
sysadmin:ssh [2014/10/28 11:28] – modifica esterna 127.0.0.1sysadmin:ssh [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
-====== SSH Config ====== 
  
-Il file ''~/.ssh/config'' contiene le configurazioni relative al client SSH, da non confondere con quello del server (''/etc/ssh/sshd_config'').  E' possibile: 
-  * definire dei parametri per ogni host, in questo modo da usare degli alias 
-  * definire dei parametri di default 
- 
-===== Parametri per host ===== 
- 
-  Host befair2 bf2 
-    User root 
-    HostName befair2.befair.it 
- 
-In questo modo e' possibile usare ''bf2'' invece di ''root@befair2.befair.it'' per connettersi al server: 
-  ssh bf2 
- 
-Questi alias si possono usare anche in programmi che a loro volta usano SSH, ad esempio Git.  Ad esempio per clonare un repository dal server, si puo' usare: 
-  $ git clone bf2:git_repo 
- 
-In alternativa a: 
-  $ git clone root@befair2.befair.it:git_repo 
-===== Parametri di default ===== 
- 
-  Host * 
-    User root 
-    ServerAliveInterval 300 
-   
-    ControlMaster  auto 
-    ControlPath    ~/.ssh/%r@%h:%p 
-    ControlPersist 8h 
- 
-In questo caso per ogni connessione SSH, viene generata una socket (es: ''~/.ssh/root@befair2.befair.it:22'') usata per: 
-  * fungere da multiplexer per tutte le sessioni SSH 
-  * mantenere la connessione persistente per un certo periodo (in questo caso per 8 ore dalla chiusura di tutte le sessioni aperte) 
- 
-I vantaggi sono: 
-  * e' possibile usare la stessa connessione sia per classici utilizzi di SSH che per Ansible (configurando quest'ultimo con la stessa path della socket) 
-  * minor traffico di rete soprattutto quando ci sono elevati traffici (es: Ansible) 
-  * minori tempi di risposta una volta istanziata la connessione 
-  * miglior sicurezza, in quanto si evita la rinegoziazione tramite chiavi asimmetriche di una nuova One-Time-Password ad ogni sessione 
- 
-Infine ''ServerAliveInterval'' serve a inviare periodicamente un "ping" per mantenere attiva la sessione (mi e' tornato utile nel caso di connessioni instabili).  Il tempo e' espresso in secondi. 
- 
-Nota:  e' importante che i parametri di default siano inseriti in fondo, perche' altrimenti sovrascrivono gli altri. 
- 
-===== Proxy SSH ===== 
- 
-E' possibile connettersi ad un server passando per un server intermedio.  Prendiamo come server intermedio ''master'' e come server di destinazione ''desmc'', la connessione sara' quindi: 
- 
-portatile -> master -> desmc 
- 
-Possiamo sfruttare ''netcat'' sul server intermedio.  Installiamolo con: 
- 
-  # apt-get install netcat 
- 
-Nota:  tutti i server ''befairX'' hanno netcat gia' installato  :-) 
- 
-Ora bisogna configurare il proprio client SSH sul portatile: 
- 
-  # server intermedio 
-  Host master 
-    HostName 123.45.67.89   # IP del server intermedio 
-    User root 
-   
-  # server di destinazione 
-  Host desmacerata.it  desmc 
-    HostName      195.223.142.97  # IP del server di destinazione 
-    Port          4444            # porta del server di destinazione 
-    User          root 
-    ProxyCommand  ssh master nc %h %p 2> /dev/null  # comando chiave che e' spiegato bene nel link in fondo 
- 
-''%h'' e ''%p'' sono dei segnaposti per richiamare i valori dell'hostname e della porta del server di destinazione. 
- 
-Nota: la propria chiave privata **non** va copiata sul server intermedio, e' sufficiente avere la propria chiave pubblica sui 2 server. 
- 
-Infine dal portatile lanciare: 
- 
-  $ ssh desmc 
- 
-Fonte:  http://undeadly.org/cgi?action=article&sid=20070925181947 
sysadmin/ssh.1414495723.txt.gz · Last modified: 2015/01/05 12:31 (external edit)