SSH

Configs serveur

Configs client

Connexion via clé SSH

Si on veut se connecter avec des clés SSH plutôt que des mots de passe:

  1. Côté client: générer une paire de clés privée / publique.
    La passphrase est un mot de passe, utilisé pour encrypter la clé SSH. Ainsi, si une personne vole le fichier, sans le mot de passe, elle ne peut pas décrypter la clé et se connecter aux serveurs

     $ ssh-keygen
     ...
     Your identification has been saved in /home/aaron/.ssh/id_rsa.
     Your public key has been saved in /home/aaron/.ssh/id_rsa.pub.
    

    Les clés ont été générés dans ~/.ssh

  2. Côté serveur: si on peut pouvoir se connecter au serveur avec la clé privée, il faut copier la clé publique sur le serveur.
    Ajouter le contenu de la clé publique vers .ssh/authorized_keys

     $ cat .ssh/id_rsa.pub
    
     $ vim authorized_keys
     $ chmod 6000 authorized_keys
    

    Désormais, quiconque possède la clé privée correspondant à la clé publique ajoutée au fichier authorized_keys peut se connecter via ssh au compte de cet utilisateur

  3. La première fois qu’on se connecte, on reçoit un message indiquant que l’authenticité du serveur ne peut être établie. Une fois qu’elle est acceptée, l’empreinte digitale du serveur est stockée dans le fichier .ssh/known_hosts

    Les prochaines fois qu’on se connecte, le client compare l’empreinte connue à l’empreinte indiquée par le serveur: si elle correspond, c’est qu’on a affaire au même serveur. Sinon, quelqu’un a manipulé le serveur — ou souvent, on a réinstallé le système sur un tout nouveau serveur.

    Pour supprimer une ancienne empreinte:

     $ ssh-keygen -R 10.11.12.9
     Host 10.11.12.9 not found in /home/aaron/.ssh/known_hosts
    

    Si on veut supprimer toutes les empreintes, on peut simplement supprimer le fichier.