Movatterモバイル変換


[0]ホーム

URL:


Aller au contenu
Wikipédial'encyclopédie libre
Rechercher

Secure Shell

Un article de Wikipédia, l'encyclopédie libre.

Page d’aide sur l’homonymie

Pour les articles homonymes, voirSSHD etSSH.

Secure Shell

Informations
FonctionSession à distance sécurisée
SigleSSH
Date de création1995
PortTCP/22
RFCRFC 4250,RFC 4251 ,RFC 4252,RFC 4253,RFC 4254

modifier

Secure Shell (SSH) est unprotocole de communication sécurisé. Le protocole de connexion impose un échange declés de chiffrement en début de connexion. Par la suite, tous lessegmentsTCP sont authentifiés et chiffrés. Il devient donc impossible d'utiliser unanalyseur de paquets (sniffer) pour voir ce que fait l'utilisateur.

Le protocole SSH a été conçu avec l'objectif de remplacer les différents protocoles non chiffrés commerlogin,telnet,rcp etrsh.

Le protocole

[modifier |modifier le code]

Le protocole SSH existe en deux versions majeures : la version 1.0 et la version 2.0.

  • La première version permet de se connecter à distance à un ordinateur afin d'obtenir unshell ou ligne de commande. Cette version souffrait néanmoins de problèmes de sécurité dans la vérification de l'intégrité des données envoyées ou reçues, la rendant vulnérable à des attaques actives. En outre, cette version implémentait un système sommaire de transmission de fichiers, et duport tunneling.
  • La version 2 qui était à l'état debrouillon jusqu'en est largement utilisée à travers le monde.

Cette version est beaucoup plus sûre au niveaucryptographique, et possède en plus un protocole de transfert de fichiers complet, leSSH file transfer protocol.

Habituellement le protocole SSH utilise leportTCP 22. Il est particulièrement utilisé pour ouvrir unshell sur un ordinateur distant. Peu utilisé sur les stationsWindows (quoiqu'on puisse l'utiliser avecPuTTY,mRemote,cygwin ou encoreOpenSSH), SSH fait référence pour l'accès distant sur les stationsLinux etUnix.

SSH peut également être utilisé pour transférer des portsTCP d'une machine vers une autre, créant ainsi untunnel. Cette méthode est couramment utilisée afin de sécuriser une connexion qui ne l'est pas (par exemple le protocole de récupérations decourrier électroniquePOP3) en la faisant transférer par le biais du tunnel chiffré SSH[1].

Il est également possible de faire plusieurs sauts entreconsoles SSH, c'est-à-dire ouvrir une console sur un serveur, puis, de là, en ouvrir une autre sur un autre serveur[2].

Historique

[modifier |modifier le code]

La première version de SSH (SSH-1) a été conçue parTatu Ylönen, àEspoo, en Finlande en1995. Il a créé le premier programme utilisant ce protocole et a ensuite créé une entreprise,SSH Communications Security pour exploiter cette innovation.Cette première version utilisait certainslogiciels libres comme la bibliothèqueGnu libgmp, mais au fil du temps ces logiciels ont été remplacés par deslogiciels propriétaires.SSH Communications Security a vendu sa licence SSH àF-Secure (anciennement connue sous le nom deData Fellows).

La version suivante a été nommée SSH-2. Le groupe de travail de l'IETF « secsh » a défini en lestandard Internet SSH-2, que l'on retrouve actuellement dans la plupart des implémentations. Cette version permet une compatibilité ascendante avec les implémentations dubrouillon de SSH-2 qui étaient en version 1.99.

En 2023, une alternative à SSH, baptisée SSH3 car elle offre les mêmes services que SSH et s'appuie surHTTP/3 etQUIC a été proposée[3].

SSH avec authentification par clés

[modifier |modifier le code]

Avec SSH, l'authentification peut se faire sans l'utilisation de mot de passe ou dephrase secrète en utilisant lacryptographie asymétrique. La clé publique est distribuée sur les systèmes auxquels on souhaite se connecter. La clé privée, qu'on prendra le soin de protéger par un mot de passe, reste uniquement sur le poste à partir duquel on se connecte. L'utilisation d'un « agent ssh » permet de stocker le mot de passe de la clé privée pendant la durée de la session utilisateur.

Cette configuration profite aussi àSCP et àSFTP qui se connectent au même serveur SSH.

Elle est plus sécurisée qu'un mot de passe car elle est plus longue, non générée par l'humain et jamais transmise au serveur. D'ailleurs, il est possible d’interdire la connexion d'un utilisateur par mot de passe en SSH et d'imposer la connexion par clés (comme par défaut pour le compte root de la plupart desdistributions Linux)[4].

Clés SSH : principe de fonctionnement

[modifier |modifier le code]

Pour créer une clé SSH, on peut utiliser par exemplePuTTY ou MobaXterm sur Windows oussh-keygen sur Linux.

Une clé privée ed22519 ressemble à ceci :

-----BEGIN OPENSSH PRIVATE KEY-----b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZWQyNTUxOQAAACATbd0/42RFdVJRftYdqw4igZeD1Bp/MZUZBXjCJYgjlQAAAJhFXOsVRVzrFQAAAAtzc2gtZWQyNTUxOQAAACATbd0/42RFdVJRftYdqw4igZeD1Bp/MZUZBXjCJYgjlQAAAEAcHpM/LBPhy5M82GUSIUB0XQ5xjNJQKg5dmcWp5K7PZxNt3T/jZEV1UlF+1h2rDiKBl4PUGn8xlRkFeMIliCOVAAAADmd1aWxoZW1Ac3NsdnBuAQIDBAUGBw==-----END OPENSSH PRIVATE KEY-----

Et sonempreinte ressemble à ceci :

SHA256:40Nl3InRpXTQPJ6lW66V0Jn385T551Eo1FbILv9M4Jo root@wikipedia

Cette clé est conservée secrète sur la machine cliente. Sur la machine serveur, il convient d'inscrire la clé publique dans le fichier des clés acceptés (souvent stocké dans.ssh/authorized_keys dans le repertoire de l'utilisateur cible). La clé est stockée dans un fichier .pub créé lors de la génération de clé et ressemble à :

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBNt3T/jZEV1UlF+1h2rDiKBl4PUGn8xlRkFeMIliCOV root@wikipedia

Contrairement à la clé privée, cette clé peut être librement transmise entre les différentes machines.

Ensuite il est possible d'utiliser la clé privée pour se connecter. Le serveur fera correspondre la connexion avec la clé publique et permettra l'authentification du client.

Sécurisation par la vérification des clés hôtes

[modifier |modifier le code]

Le serveur détient aussi des clés privées. Il utilise cette clé et permet donc aux clients d'identifier la clé publique et de savoir si cette dernière est constante au fil du temps. En effet, à la première connexion, l'agent SSH stocke la clé dans un fichier et vérifie que la clé ne change pas. Si la clé change, un message d'alerte indique la différence entre la clé calculée et la clé stockée et demande à l'utilisateur de continuer ou d'abandonner la connexion :

  • Soit le serveur a été mis à jour, réinitialisé ou a changé de clés et le changement est légitime. La connexion peut donc être poursuivie.
  • Soit un pirate se fait passer pour le serveur pour récupérer des informations confidentielles. La connexion doit être abandonnée.

Ce système de clés hôtes empêche, après la première connexion, lesattaques de l'homme du milieu.

Les entréesDNS SSHFP permettent d'enregistrer dans les DNS les clés du serveur et permettent d'établir une comparaison dès la connexion initiale[5].

Implémentations logicielles

[modifier |modifier le code]

Notes et références

[modifier |modifier le code]
  1. (en) Linuxize, « How to setup SSH tunnelling »Accès libre,(consulté le)
  2. « Comment utiliser SSH ProxyJump et SSH ProxyCommand sous Linux », surfr.linux-console.net(consulté le)
  3. (en-US) FrançoisMichel, « Towards SSH3: How HTTP/3 improves secure shells », surAPNIC Blog,(consulté le)
  4. (en) Lubos Rendek, « Enabling SSH Root Login on Ubuntu/Debian Linux Servers »Accès libre, surlinuxconfig.org,(consulté le)
  5. WesleyGriffin et JakobSchlyter, « Using DNS to Securely Publish Secure Shell (SSH) Key Fingerprints », Internet Engineering Task Force,(DOI 10.17487/rfc4255, consulté le)
  6. (en)Dropbear.

Voir aussi

[modifier |modifier le code]

Sur les autres projets Wikimedia :

Articles connexes

[modifier |modifier le code]

Liens externes

[modifier |modifier le code]
v ·m
7.Application
6.Présentation
5.Session
4.Transport
3.Réseau
2.Liaison
1.Physique
v ·m
Officiel
Non-officiel
v ·m
Clients de messagerie
Communication sécurisée
Off-the-Record Messaging
Secure Shell
Transport Layer Security
Réseau privé virtuel (VPN)
ZRTP
Pair-à-pair
Chiffrement de disque
Anonymat sur Internet
Systèmes de fichiers chiffrés (en) distribué
Éducatif
Stéganographie
Articles liés
v ·m
Général
Implémentations
Implémentations controversées
Ce document provient de « https://fr.wikipedia.org/w/index.php?title=Secure_Shell&oldid=226552196 ».
Catégories :
Catégories cachées :

[8]ページ先頭

©2009-2026 Movatter.jp