« Administration réseau sous Linux/SSH » : différence entre les versions
Contenu supprimé Contenu ajouté
Nouvelle page : SSH signifie Secure SHell. C'est un protocole qui permet de faire des connexions sécurisées (i.e. cryptées) entre un serveur et un client SSH. Vous pouvez soit vous logger à un ... |
Aucun résumé des modifications |
||
Ligne 1 :
SSH signifie Secure SHell.
C'est un protocole qui permet de faire des connexions sécurisées (i.e. cryptées) entre un serveur et un client SSH.
On peut l'utiliser pour se connecter à une machine distante comme avec telnet, pour transférer des fichiers de manière sécurisée ou pour créer des tunnels.
Les tunnels permettent sécuriser des protocoles qui ne le sont pas en faisant passer les données par une connexion SSH.
==Le système de clés de SSH==
=== Cryptographie asymétrique ===
Ligne 27 ⟶ 25 :
Toute autre personne en possession de la clé secrète peut décrypter le message.
La cryptographie symétrique est beaucoup moins gourmande en ressources processeur que la cryptographie asymétrique
Dans le protocole SSL, qui est utilisé par les navigateurs Web et par SSH, la cryptographique asymétrique est utilisée au début de la communication pour que A et B puissent s'échanger un clé sécrète de manière sécurisée, puis la suite la communication est sécurisée grâce à la cryptographie symétrique en utilisant la clé secrète échangée.
==Configuration du serveur SSH==
Pour manipuler le daemon (le lancer, l'arrêter, recharger la configuration...), on utilise la commande
/etc/init.d/ssh
Le fichier de configuration du serveur SSH est /etc/ssh/sshd_config.▼
▲Le fichier de configuration du serveur SSH est/etc/ssh/sshd_config.
▲A ne pas confondre avec /etc/ssh/ssh_config qui est le fichier de configuration du client SSH.
Parmi les multiples options, on peut noter :
*'''Port 22: ''' Signifie que le serveur SSH écoute sur le port 22, qui est le port normal de SSH. Il est possible le faire écouter sur un autre port en changeant cette ligne.
*'''Protocol 2: ''' Signifie que le serveur SSH accepte uniquement la version 2 du protocole SSH.
C'est une version plus sécurisée que la version 1 du protocole. Pour accepter les deux protocoles, change la ligne en : Protocol 2,1
*'''PermitRootLogin no: ''' Signifie que l'on ne peux pas se logger en root par SSH. Pour logger en root, il suffit de se logger en utilisateur normal et d'utiliser la commande su.
*'''X11Forwarding yes: '''
*'''LoginGraceTime 600: ''' Temps de connexion maximum
*'''RSAAuthentication yes: ''' Méthode d'authentification.
Ligne 59 ⟶ 51 :
==Se logguer par SSH==
Deux types d'authentification sont possibles : par mot de passe et par clé.
Dans les deux cas on utilise une des commandes suivantes :
ssh -l <login> <adresse du serveur SSH>
ssh <login>@<adresse du serveur SSH>
=== Authentification par mot de passe ===
C'est la méthode la plus simple.
Lors de la connexion,
Dans ce cas, ssh crypte le mot de passe ce qui évite de le voir circuler en clair sur le réseau.
=== Authentification par clé ===
Au lieu de s'authentifier par mot de passe, les utilisateurs peuvent s'authentifier grâce à la cryptographie asymétrique et son couple de clés privée/publique, comme le fait le serveur SSH auprès du client SSH.
Dans ce cas, aucun mot de passe ne circule sur le réseau.
==== Générer une clé ====
Pour générer un couple de clés
ssh-keygen -t dsa
Deux clés vont être générées, un clé publique qu'il faudra placer sur le serveur et une clé privée.
Les clés générées ont par défaut une longueur de 1024 bits, ce qui est aujourd'hui considéré comme suffisant pour une bonne protection.
Par défaut, la clé privée est stockée dans le fichier $HOME/.ssh/id_dsa.
La clé privée est
Lors de la création de la clé, l'utilitaire demande une ''pass phrase'' qui est un mot de passe pour protéger la clé privée (2eme protection).
Cette pass phrase sert à crypter la clé privée.
La pass phrase sera alors demandée à chaque utilisation de la clé privée, c'est à dire à chaque fois que vous vous
Un mécanisme appelé ssh-agent permet de ne pas rentrer le mot de passe à chaque fois (voir les docs).
Ligne 101 ⟶ 90 :
==== Autoriser sa clé publique ====
Si vous souhaitez vous connecter au serveur sur le compte
Pour transférer la clé publique, on peut utiliser ftp, scp (copie de fichier par ssh), ou un simple copier/coller entre deux terminaux (c'est simplement une longue ligne de caractères ASCII).
Chaque ligne du fichier authorized_keys correspond à une clé publique autorisée à se connecter.
Il faut vérifier que chaque clé est bien sur une seule ligne, sinon ça ne fonctionne pas.
Ensuite, pour se logger, il suffit de procéder comme précédemment.▼
Si la clé privée a été enregistré dans un autre fichier que $HOME/.ssh/id_dsa, il faut le préciser au client ssh :
ssh -i <nom du fichier contenant la clé privée> <login>@<serveur>
▲Ensuite, pour se logger, il suffit de procéder comme précédemment.
==Créer un "tunnel" crypté entre deux stations==
|