Aller au contenu

OpenSSH

Un article de Wikipédia, l'encyclopédie libre.
OpenSSH
Description de l'image Openssh.gif.
Description de l'image OpenSSH CLI.png.
Informations
Développé par Projet OpenBSD
Première version
Dernière version 9.9 ()[1]Voir et modifier les données sur Wikidata
Dépôt anongit.mindrot.org/openssh.gitVoir et modifier les données sur Wikidata
État du projet Actif
Écrit en CVoir et modifier les données sur Wikidata
Système d'exploitation MacOS, Microsoft Windows, type Unix, Android et Windows Server 2019Voir et modifier les données sur Wikidata
Environnement Multi-plateforme
Type Accès distant au Shell (SSH) et transfert de fichiers sécurisés
Licence Licence BSD Modifiée
Site web www.openssh.org

OpenSSH (OpenBSD Secure Shell) est un ensemble d'outils informatiques libres permettant des communications sécurisées sur un réseau informatique en utilisant le protocole SSH.

Créé comme alternative open source à la suite logicielle proposée par la société SSH Communications Security, OpenSSH est développé depuis 1999 par l'équipe d'OpenBSD, dirigée par son fondateur, Theo de Raadt, et diffusé sous licence BSD.

Présentation technique

[modifier | modifier le code]

OpenSSH est à la fois une brique logicielle du système OpenBSD[2] et l'implémentation SSH la plus utilisée sur les systèmes BSD et GNU/Linux. L'équipe du projet OpenSSH maintient une version de base, propre à OpenBSD et une version multi-plateforme sous l'appellation Portable OpenSSH[3] à destination des systèmes compatibles (autres BSD, systèmes GNU/Linux...). Les versions multi-plateforme sont estampillées d'un p comme portable : par exemple OpenSSH 5.0p1.

La suite logicielle OpenSSH inclut les outils suivants :

ssh utilisateur@exemple.com
  • scp, un remplaçant pour le client rcp :
scp utilisateur@exemple.com:~/utilisateur .
  • sftp, un remplaçant pour le client ftp :
sftp utilisateur@exemple.com
sshd
  • sftp-server, le daemon remplaçant le serveur FTP. sftp-server est un sous-système lancé par sshd quand celui-ci reçoit une demande de connexion d'un client sftp.
sftp-server
  • ssh-keygen (en), programme de génération, gestion et conversion des clés RSA, DSA et DSA basées sur les courbes elliptiques. Par défaut, la clé privée générée par ssh-keygen est un fichier texte sans extension (dont l'utilisation peut être protégé par une phrase secrète) et la clé publique associée est un fichier texte d'extension .pub. Ces paires de clés servent soit à l'authentification des hôtes (attribut HostKey du serveur sshd) soit à l'authentification des utilisateurs (attribut IdentityFile du client ssh).
keygen -t ecdsa -b 384 -f .ssh/maclé -C commentaire
  • ssh-agent, agent d'authentification.
  • ssh-add, agent de gestion des clés privées de l'utilisateur. ssh-agent et ssh-add font office de trousseau de clés.
  • ssh-keyscan, utilitaire de récupération et vérification des clés publiques d'hôtes distants.
  • ssh-keysign, Agent d'authentification servant si l'option HostbasedAuthentication est activée sur le serveur (option désactivée par défaut).
  • ssh-copy-id, utilitaire servant à déposer sa clé publique sur un serveur distant.

OpenSSH utilise la cryptographie asymétrique comme mécanisme d'authentification. À ce titre, OpenSSH gère les clés RSA, les clés DSA et les clés DSA basées sur les courbes elliptiques. OpenSSH reconnaît aussi les certificats X509 et les fichiers au format PKCS#12.

Le modèle de sécurité d'OpenSSH n'utilise pas d'IGC mais préfère la méthode du Trust on first use (en) ; avec cette méthode, chaque nouvelle connexion à un serveur SSH jusque là inconnu du client nécessite l'approbation de l'utilisateur. Si l'utilisateur accepte la clé publique que lui présente ce serveur SSH (soit sans vérification ce qui n'est pas souhaitable, soit après vérification de l'empreinte de la clé publique que l'utilisateur aura obtenu auparavant) le client ssh poursuivra les autres étapes de la connexion SSH pendant que l'utilitaire ssh-keyscan enregistrera la clé publique de l'hôte dans un fichier nommé known_hosts. Le fichier known_hosts conserve l'ensemble des clés publiques associées aux hôtes (serveurs SSH) qui ont été approuvées. Pour toute nouvelle connexion auprès d'un hôte (serveur SSH) connu, l'utilitaire ssh-keyscan va comparer l'empreinte de la clé publique que lui soumet le serveur avec celle qu'il a précédemment enregistrée dans le fichier known_hosts.

Vunérabilités

[modifier | modifier le code]

Le 29 mars 2024, une grave Attaque de la chaîne logistique (en) de XZ Utils, visant par rebond le serveur OpenSSH a été détectée. Le code d'OpenSSH n'est pas directement en cause, c'est son association à liblzma via libsystemd qui ouvre la faille.

Notes et références

[modifier | modifier le code]
  1. « release-9.9 » (consulté le )
  2. (en) OpenSSH 5.8 réalisé le 3 février 2011.
  3. (en) Portable OpenSSH 5.8p2 réalisé le 3 mai 2011.

Sur les autres projets Wikimedia :

Articles connexes

[modifier | modifier le code]

Liens externes

[modifier | modifier le code]