PROFDINFO.COM

Votre enseignant d'informatique en ligne

Labo 4 - SSH et tunnels: exploration

Retour à la page du cours

Pour ce quatrième laboratoire, je vous propose un peu d'exploration avant que la matière ne soit présentée officiellement (c'est un truc pédagogique et c'est très "réforme" alors que je ne voie personne se plaindre).

Vous devriez normalement tous pouvoir faire du ssh les uns vers les autres. ssh fonctionne exactement comme telnet, sauf qu'il est encrypté (et en plus sshd est déjà installé et configuré à l'installation de Linux, même iptables est prévu pour accepter les connexions ssh par défaut). Par exemple, si je fais:

ssh 192.168.1.134       

Je me retrouve devant un écran de login de la machine 192.168.1.134. Si je possède un compte là-bas, je peux me loguer et utiliser le serveur comme si j'étais logué physiquement à la machine. Par défaut, ssh utilise le port 22.

Pour créer un tunnel ssh, on utilisera également la commande ssh. Un tunnel est en fait un port d'une machine redirigé vers un autre port de la même machine (ou d'une autre!). On pourra alors se connecter à l'entrée du tunnel et la redirection nous amènera à l'autre bout (sur un port différent ou même une machine différente). En bonus, tout ce qui passe dans le tunnel est encrypté.

On créera un tunnel ainsi:

ssh -N -f -g -L port_source:adresse_dest:port_dest nom_hôte

Dans cette syntaxe:

Lorsque la commande est entrée, on vous demandera possiblement si vous faites confiance à la machine vers laquelle vous créez le tunnel (si ce n'est pas la vôtre). Ensuite, vous devrez donner le mot de passe du root.

Ce que je vous demande:

Notez que la façon la plus simple de voir les tunnels créés est de faire un ps pour voir les ssh en cours d'exécution. On peut les détruire en tuant les processus appropriés.

Notez également que vous obtiendrez parfois l'énigmatique erreur "bind: Address already in use" mais que le tunnel peut être valide malgré tout. Testez avant de paniquer.

Retour à la page du cours