OpenSSH (Français)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Tango-preferences-desktop-locale.pngCet article ou section a besoin d'être traduit(e).Tango-preferences-desktop-locale.png

Notes: Cette page a été créée lors de la migration du wiki pour accueillir le contenu de l'ancienne page «Autossh». Cette page nécessite traduction et approfondissement. Nophke (talk) 14:01, 12 June 2021 (UTC) (Discuss in Talk:OpenSSH (Français)#)

OpenSSH (OpenBSD Secure Shell) is a set of computer programs providing encrypted communication sessions over a computer network using the Secure Shell (SSH) protocol. It was created as an open source alternative to the proprietary Secure Shell software suite offered by SSH Communications Security. OpenSSH is developed as part of the OpenBSD project, which is led by Theo de Raadt.

OpenSSH is occasionally confused with the similarly-named OpenSSL; however, the projects have different purposes and are developed by different teams, the similar name is drawn only from similar goals.

Trucs et Astuces

Restez toujours connecté

autossh est un outil permettant de s'assurer qu'une session ssh reste ouvert en permanence en la testant et en la relançant si nécessaire. Ceci est particulièrement utile pour les tunnels distants.

L'outil s'utilise en ligne de commande. Prenons un exemple. Votre machine se trouve au boulot derrière un proxy. Vous n'avez pas la main sur la configuration du proxy et le port ssh est bloqué. Partant de là, vous ne pouvez pas vous connecter depuis ailleurs sur internet sur votre machine. La solution à ce problème est d'ouvrir un tunnel ssh distant depuis votre machine vers une machine donnée sur internet. Le but de cet article n'étant pas d'expliquer le fonctionnement des tunnels, nous vous invitons à vous rendre sur la page ssh.

Donc, pour notre exemple, nous obtenons la ligne de commande suivante :

autossh -M9042 -f -R 1234:localhost:23 monserveur.mondomaine.be

Vous ne savez pas trop ce que fait cette commande ? pas de soucis, on va l'expliquer argument par argument.

  • -M9042 : On spécifie un port pour le "monitoring". Ce port doit être disponible et au dessus de 1024.
  • -f : pour que autossh s'exécute en tâche de fond.
  • -R : pour spécifier que c'est un tunnel distant (Remote). Pour un tunnel local on aurait choisit -L
  • 1234 : c'est le port à utiliser sur le serveur distant
  • localhost : on spécifie la sortie du tunnel côté serveur local. Ici, le client lui-même. On aurait pu spécifier une autre machine du réseau local (192.168.0.15 par exemple)
  • 23 : le port à utiliser côté serveur local. On va se connecté sur la cible (localhost ici) sur ce port là (23 pour ssh ici)
  • monserveur.mondomaine.be : le serveur distant. Celui auquel on devra se connecter pour atteindre emprunter le tunnel.

Maintenant qu'on a expliqué l'ensemble des arguments séparément, expliquons le tunnel dans l'ensemble :

  • On ouvre une connexion "A" depuis notre machine vers le serveur monserveur.mondimaine.be
  • On garde la connexion "A" ouverte
  • On rentre chez soit
  • On se connecte (connexion "B") en ssh à monserveur.mondomaine.be sur le port 1234
  • Le serveur détecte qu'il s'agit de l'entrée du tunnel et nous envoi via la connexion "A" sur le serveur au travail sur le port 23
  • On est connecté en ssh sur la machine du travail derrière le proxy \o/

Dans ce premier scénario, autossh n'apporte rien. C'est l'utilisation de base du tunnel ssh. Mais supposons maintenant que pour une raison ou une autre, il y a une panne réseau dans l'entreprise. Les connexions "A" et "B" se trouvent alors coupées. Le réseau est rétabli quelques instants plus tard mais le mal est fait. Si on avait utilisé un simple tunnel, il aurait été perdu. C'est là que autossh entre en jeu, il va se rendre compte que la connexion "A" a été coupée et va la relancer de lui-même. Si on essaye alors de relancer la connexion "B", nous pourrons de nouveau contacter la machine au travail.