Présentation
Le chiffrement est le fait de transformer des données de sorte à ce que seules certaines personnes pourront utiliser l’information qui transite sur un réseau. En général une et une seule personne destinataire d’une information est censée pouvoir lire l’information, donc c’est surtout centré sur la propriété privée et la liberté des uns et des autres.
Clé privé et clé publique
Imaginez deux morceaux d’une clé, qui mis l’un dans l’autre, pourraient ouvrir une porte. Cette porte donnerait accès à votre ordinateur ou à un monde merveilleux où le vin coulerait à flot… trèves de plaisanteries, les clés privés/publiques sont un jeu de clefs qui permettent, utilisés l’une dans l’autre, de créer des tunnels sécurisés dans les tuyaux du net !
Génération de clés
Pour générer une clé RSA, il suffit de faire :
ssh-keygen -t rsa -b 4096
Ceci va créér une paire de clé (privée /publique)dans votre répertoire personnel, à savoir /home/olivier/.ssh/id_rsa et /home/olivier/.ssh/id_rsa.pub dans mon cas.
À la création de la paire de clé, vous devez absolument donner une phrase de passe. J’insiste bien sur le fait de phrase de passe. C’est donc un ensemble de mots, existants ou non (il vaut mieux qu’ils ne le soient pas), avec des caractères en majuscules, en minuscules, des chiffres, et des caractères de ponctuation. ATTENTION cependant à ne pas oublier la phrase de passe !
J’ajoute que vous DEVEZ sauver votre paire de clé dans un endroit où vous serez sûrs de les retrouver, qu’il arrive défaillance, panne, etc ! C’est primordial !
Exporter la clé au format ppk de Putty
Il est intéressant de pouvoir accéder à son serveur depuis n’importe où. Pour être un minimum sécuritaire, nous utilisons une authentification par clé privée / publique. Seulement voilà, nous n’avons pas forcément QUE des systèmes GNU / Linux (bon ok, c’est vrai qu’il devient de moins en moins intéressant d’avoir Windows, mais bon). Du coup, sous Windows, il faut utiliser Putty, mais le format de clés demandé est le format PPK ! Pour cela je vous suggère donc de créer une clé PPK à partir de votre clé privée :
apt-get install putty putty-tools
puttygen ~/.ssh/id_rsa -O private -o cle.ppk
Vous devriez alors posséder une clé au format PPK, ce qui vous permet de l’utiliser sous Windows.
Installer ses clés sur un serveur
Le principe est le suivant : le serveur doit posséder votre clé publique et doit autoriser ladite clé à être utilisée. Il faut donc donner notre clé publique au serveur.
Pour cela plusieurs méthodes existes pour donner un exemplaire de sa clé publique :
- Cas 1 : Vous le faites vous même par une commande simple, le serveur est ouvert
- Cas 2 : Vous donnez la clé publique à l’administrateur du système
- Cas spécial : Vous changez de clé et voudriez remplacer la vôtre
Cas 1 : Serveur ouvert
Si le serveur est ouvert, ne vous cassez pas la tête, il suffit de générez ses clés, puis de faire :
ssh-copy-id -i ~/.ssh/id_rsa.pub utilisateur@machineDistante
Le tour est joué ! Connectez vous pour tester.
Cas 2 : Contacter l’administrateur
Le cas le plus simple :
- Contactez l’administrateur du serveur
- Partagez lui votre clé publique, généralement id_rsa.pub !
- Patientez son courriel de retour
- Testez !
Cas spécial : Échange de clé
Si vous échangez les clés, procédez ainsi :
- Générez vos clés sur la machine locale avec l’option -f macle :
ssh-keygen -t rsa -b 4096 -f ~/.ssh/macle
- Sur la machine locale faites :
scp ~/.ssh/macle.pub machineDistante:/home/utilisateur/.ssh/
- Ensuite jouez à quitte ou double :
- Connectez vous en SSH sur la machine distante
- Faites :
rm ~/.ssh/id_rsa.pub
rm ~/.ssh/authorized_keys
mv ~/.ssh/macle.pub ~/.ssh/id_rsa.pub
cat ~/.ssh/id_rsa.pub >> authorized_keys
- Ouvrez un nouveau terminal et tentez de vous connecter en SSH : si cela marche, super ! Sinon … va falloir contacter l’administrateur du serveur (Cas 2)
(re)Générer des clés sur un serveur Debian (ou affilié)
Grossièrement, pour regénérer ou reconfigurer les clés SSH du serveur il faut taper ceci :
sudo rm /etc/ssh/ssh_host*key*;dpkg-reconfigure -plow openssh-server
On supprime les clés actuelles puis on relance une configuration spécifique par dpkg pour relancer la génération d’une paire de clés.