02 aprile 2011

Accesso ad un server interno con un solo salto

Spesso accade che in una rete privata ci siano molti server, uno solo dei quali è raggiungibile da Internet attraverso il protocollo Secure Shell, la cui porta (di norma la 22) viene aperta e girata dal firewall aziendale verso l'esterno.

Per accedere ad uno dei server interni il buon amministratore deve generalmente fare un doppio salto: prima entrare con SSH sull'unica macchina pubblica e da lì saltare ancora con SSH al server che interessa. Tutto ciò è una scocciatura, ma SSH, o meglio il client OpenSSH, ci mette a disposizione una scorciatoia.

Diciamo che il server pubblico si chiama gaius e quello interno, inaccessibile dall'esterno, si chiama six. Ovviamente vogliamo arrivare a six nel più breve tempo possibile ;-)

Su entrambe le macchine ci sono gli account per l'utente paolo, che sarei poi io.

Sul nostro PC di casa aggiungiamo queste righe nel file ~/.ssh/config:

  Host gaius
      HostKeyAlias gaius_4sigma_22
      HostName gaius.4sigma.it
      Port 22
      CheckHostIP yes
      User paolo

  Host six
      User paolo
      ProxyCommand ssh gaius exec nc %h %p
      ForwardAgent yes

Fatto questo basterà scrivere nel terminale il comando:

  $ ssh six

per trovarci collegati a six, il server inaccessibile, passando attraverso gaius, il server pubblico.

Ovviamente non c'è nessuna magia e, per informazioni più dettagliate, vi consiglio di cercare le opzioni ProxyCommand e ForwardAgent nel manuale della configurazione di SSH.

Alla prossima.

0 commenti:

Posta un commento