Réseau - Web - GNU/Linux

2018 16 janvier

Présentation générale d'openSSH

Rédigé par Marc GUILLAUME | Aucun commentaire

L'implémentation la plus complète du protocle SSH sur GNU/Linux

L'implémentation du protocole qui est intégrée aux distributions linux s'appelle openSSH et est développée par l'équipe d'OpenBSD sous la direction de Théo de Raadt, et est scindée en deux paquets : openssh-server et openssh-client dont le nom indique clairement la fonction. Le chiffrement des données repose sur la méthode dite chiffrement assymétrique, utilisant un jeu de "clés" publique/privée de structure particulière, dites souvent clés Diffie/Hellman du nom des deux chercheurs, Whitfield Diffie et Martin Hellman, ayant publié le premier article concernant ce type de cryptographie en 1976.

Comme dans la plupart des informations et explications de ce site concernant GNU/Linux, nous utiliserons la distribution Debian. Mais, en dehors des commandes d'installation des paquets; les informations seront valables pour la quasi totalité des distributions Linux généralistes.

Fichiers de configuration

Il existe deux ensembles différents de fichiers de configuration : ceux pour les programmes clients (c'est-à-dire, ssh, scp, et sftp), et ceux pour le serveur (le démon sshd).

Les informations de configuration SSH pour l'ensemble du système sont stockées dans le répertoire /etc/ssh/ comme décrit dans Table « Fichiers de configuration à l'échelle du système ». Les informations de configuration SSH spécifiques à l'utilisateur sont stockées dans le répertoire ~/.ssh/ dans le répertoire personnel de l'utilisateur comme décrit dans Table « Fichiers de configuration spécifiques à l'utilisateur ».

Fichiers de configuration à l'échelle du système
Fichier Description
/etc/ssh/moduli Lorsque les clés sont échangées au début d'une session SSH, une valeur partagée et secrète est créée, qui ne peut être déterminée par l'une ou l'autre des parties seulement. Cette valeur est ensuite utilisée pour fournir une authentification de l'hôte.Ce fichier contient des groupes Diffie-Hellman utilisés pour cette opération. L'utilitaire ssh-keygen permet de générer ce type de groupes (de très grands nombres premiers).
/etc/ssh/ssh_config Le fichier de configuration du client SSH par défaut. Notez qu'il peut-être surchargé par un fichier ~/.ssh/config si ce fichier existe.
/etc/ssh/sshd_config Le fichier de configuration du démon sshd.
/etc/ssh/ssh_host_dsa_key La clé privée DSA utilisée par le démon sshd.
/etc/ssh/ssh_host_dsa_key.pub La clé publique DSA utilisée par le démon sshd.
/etc/ssh/ssh_host_key La clé privée RSA utilisée par le démon sshd pour la version 1 du protocol SSH.
/etc/ssh/ssh_host_key.pub La clé publique RSA utilisée par le démon sshd pour la version 1 du protocol SSH.
/etc/ssh/ssh_host_rsa_key La clé privée RSA utilisée par le démon sshd pour la version 2 du protocol SSH.
/etc/ssh/ssh_host_rsa_key.pub La clé publique RSA utilisée par le démon sshd pour la version 2 du protocol SSH.
/etc/ssh/ssh_host_ecdsa_key La clé privée ECDSA utilisée par le démon sshd
/etc/ssh/ssh_host_ecdsa_key.pub La clé publique ECDSA utilisée par le démon sshd
/etc/ssh/ssh_host_ed25519_key La clé privée ed25519 utilisée par le démon sshd
/etc/ssh/ssh_host_ed25519_key.pub La clé publique ed25519 utilisée par le démon sshd
/etc/pam.d/sshd Le fichier de configuration PAM pour le démon sshd.
Fichiers de configuration spécifiques à l'utilisateur
Fichier Description
~/.ssh/authorized_keys Contient une liste des clés publiques autorisées à se connecter sur la machine. Lorsque le client se connecte à un serveur, le serveur authentifie le client en vérifiant si sa clé publique figure dans ce fichier.
~/.ssh/id_dsa Contient la clé privée DSA de l'utilisateur.
~/.ssh/id_dsa.pub Contient la clé publique DSA de l'utilisateur.
~/.ssh/id_rsa La clé privée RSA utilisée par ssh pour la version 2 du protocol SSH.
~/.ssh/id_rsa.pub La clé publique RSA utilisée par ssh pour la version 2 du protocol SSH.
~/.ssh/id_ecdsa La clé privée ECDSA utilisée par ssh.
~/.ssh/id_ecdsa.pub La clé publique ECDSA utilisée par ssh.
~/.ssh/identity La clé privée RSA utilisée par ssh pour la version 1 du protocl SSH.
~/.ssh/identity.pub La clé publique RSA utilisée par ssh pour la version 1 du protocl SSH.
~/.ssh/known_hosts Contient les clés hôte des serveurs SSH auxquels l'utilisateur a accédé. Ce fichier est très important pour s'assurer que le client SSH se connecte au bon serveur SSH.

Pour davantage d'informations concernant les différentes directives qui peuvent être utilisées dans les fichiers de configuration SSH, voir les pages de manuel ssh_config(5) et sshd_config(5).

Les programmes annexes

Plusieurs programmes sont fournis avec les paquets openssh. Il permettent de profiter de toutes les possibilités d'openssh qui sont très diverses.

ssh-keygen
Ce programme couvre tout ce qui concerne la génération, la gestion et la conversion des clés d'authentification y compris la signature de certificats utilisés pour un type d'identification ssh dont nous parlerons dans un prochain chapitre.

Nous avons vu au chapitre précédent que l'identification ssh par défaut se faisait par nom de connexion et mot de passe. Pour une utilisation quotidienne cette méthode n'est pas la plus commode. SSH permet d'utiliser pour se connecter des clés d'authentification et des techniques de signature de certificats permettant une utilisation plus souple et plus sécurisée.

ssh-agent
Il s'agit du programme qui charge en mémoire, le temps d'une session les diverses clés privées d'un utilisateur, permettant par exemple de ne pas avoir à déchiffrer à chaque appel une clé ssh qui aurait été encodée avec une passphrase (tout ceci sera détaillé au chapitre suivant).

Il est généralement chargé au démarrage de la session, et les clés lui sont fournies (ou retirées) par la commande ssh-add.

ssh-add
Il s'agit du problème permettant de charger une clé et sa passphrase dans ssh-agent. L'utilisation consiste à invoquer ssh-add suivi du chemin vers la clé privée à déchiffrer et à saisir la passphrase associée à cette clé pour que les applications ssh puissent utiliser la clé sans demander d'autres informations à l'utilisateur.
ssh-keyscan
Ce programme est utilisé pour récupérer les clés publiques de serveurs et peut-être utilisé pour contrôler les fichiers known_hosts.

Nous savons en gros comment utiliser ssh, voyons maintenant l'installation et l'utilisation détaillée de tous ces éléments. En commençant par la partie client dans le chapitre suivant.

Écrire un commentaire

Quelle est la dernière lettre du mot jharm ?

Fil RSS des commentaires de cet article

À propos

Yakati.com - Réseau - Web - GNU/Linux © 2017

Généré par PluXml en 0.029s  Compression GZIP activée - Administration

Mes coordonnées

Marc Guillaume
contact[at]yakati.com
79150 ÉTUSSON

Crédits

Pour la gestion du contenu

Généré par PluXml, le Blog ou Cms sans base de données

Pour le contenu

Licence Creative Commons
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.

Pour le thème

Thème SOLID de blacktie.co adapté pour PluXml