Cette page a pour but de rassembler toutes les astuces qui peuvent simplifier la vie grace à ssh.

= Accéder à un réseau interne =

Dans le cas où l'on veut se connecter à une machine d'un réseau interne qui n'est pas accessible directement mais pour lequel il y a au moins une machine qui accepte le ssh.

On peut inscrire dans le fichier {{{~/.ssh/config}}} les lignes suivantes :
 {{{
Host machine_accessible.reseau.interne # par exemple acces1.rip.ens-cachan.fr
  ProxyCommand none

Host *.réseau.interne # par exemple *.rip.ens-cachan.fr
  user son_login
  ProxyCommand ssh son_login@machine_accessible.reseau.interne "nc -w1 %h %p"
}}}

Ensuite ssh fera le saut de façon transparente quand on lancera la commande {{{ssh une_machine.reseau.interne}}}

La première partie n'est nécessaire que si la machine accessible matche le {{{*.réseau.interne}}}. On peut l'omettre sinon. Dans cet exemple, ce n'est pas nécessaire :
 {{{
Host *.crans.org
  IdentityFile ~/.ssh/crans/clef

Host *.adm.crans.org
  ProxyCommand ssh rouge.crans.org "nc -w1 %h %p"
}}}

En effet, la machine sur laquelle on saute ({{{rouge.crans.org}}}) n'est pas dans le réseau {{{adm.crans.org}}}.

{i} il faut que {{{netcat}}} soit installé sur la machine du milieu (c'est le cas dans 99.999% des cas, sauf à l'ENS). S'il n'est pas installé, un coup de {{{scp /bin/nc user@machine_accessible.reseau.interne:}}} fera l'affaire (et bien sûr on remplace {{{nc}}} ci dessus par {{{~/nc}}})