Établir une connexion SSH

Dès que sshd tourne sur votre machine, vous pouvez tester votre configuration en essayant de vous connecter avec le client ssh. Supposons que votre machine ait pour nom serveur1 et que votre compte soit mon_nom. Pour démarrer une connexion ssh, utilisez la commande :
ssh -l mon_nom serveur1
Le client ssh2 essaie ainsi de se connecter au port 22 (port par défaut) de serveur1. Le démon sshd2, qui tourne sur serveur1 accepte la requête et demande le mot de passe pour le compte mon_nom. Si le mot de passe est correct, il autorise la connexion et lance un interpréteur de commande.

Création et gestion des clés ssh

Ssh autorise un autre mécanisme d'authentification, basé sur des clés d'authentification, une méthode cryptographique à clé publique. Chaque utilisateur désireux d'utiliser ssh avec une authentification à clé publique doit lancer la commande ssh-keygen (sans option) pour créer les clés d'authentification. La commande commence la création de la paire de clés (publique et privée) et demande à l'utilisateur de saisir une phrase de passe pour les protéger.

Deux fichiers sont créés dans le répertoire $HOME/.ssh2/ : id_dsa_1024_a et id_dsa_1024_a.pub, respectivement clés privée et publique de l'utilisateur.

Supposons que nous ayons deux comptes utilisateurs, mon_nom1 sur la machine serveur1 et mon_nom2 sur serveur2. Nous voulons nous connecter de serveur1 à serveur2 en utilisant l'authentification à clé publique. Pour ce faire, quatre étapes sont nécessaires :

  1. Sur serveur1, créez la paire de clés en utilisant ssh-keygen, et choisissez une phrase de passe pour la protéger.

  2. Connectez vous à serveur2, en utilisant l'authentification par mot de passe de ssh, et répétez l'opération précédente. Allez ensuite dans le répertoire $HOME/.ssh2 et créez le fichier nommé identification, contenant les lignes suivantes :
    # identification
    IdKey  id_dsa_1024_a
    Ce fichier est utilisé par sshd pour identifier la paire de clés à employer lors des connexions.

  3. Depuis serveur2, récupérez la clé publique de votre compte sur serveur1 et renommez là de façon à la reconnaître (par exemple : serveur1.pub) :
    ftp serveur1
    [...]
    cd .ssh2
    get id_dsa_1024_a.pub serveur1.pub
    À la fin de la copie FTP, une copie de la clé publique de serveur1, nommée serveur1.pub, réside dans le répertoire $HOME/.ssh2 sur serveur2.

  4. Créez le fichier des autorisations authorization contenant les lignes suivantes :
    # authorization
    Key     serveur1.pub
    Ce fichier énumère toutes les clés publiques ssh à qui l'utilisateur fait confiance placées dans le répertoire $HOME/.ssh2. Quand une connexion ssh est commencée par un utilisateur dont la clé publique figure dans le fichier d'autorisation, le processus d'authentification à clé publique commence.

Afin de tester la configuration précédente, vous pouvez essayer de vous connecter de serveur1 à serveur2 en utilisant ssh. Sshd doit répondre en demandant une phrase de passe, ou si le mot de passe du compte est demandé, quelque erreur a dû se produire dans le processus de configuration et vous devez contrôler soigneusement les étapes 1 à 4. La phrase de passe exigée est celle qui est locale (c.-à-d. celle protégeant la clé publique sur la machine serveur1).