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 : 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 :

Cas spécial : Échange de clé

Si vous échangez les clés, procédez ainsi :

ssh-keygen -t rsa -b 4096 -f ~/.ssh/macle
scp ~/.ssh/macle.pub machineDistante:/home/utilisateur/.ssh/
rm ~/.ssh/id_rsa.pub
rm ~/.ssh/authorized_keys
mv ~/.ssh/macle.pub ~/.ssh/id_rsa.pub
cat ~/.ssh/id_rsa.pub >> authorized_keys

(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.

Liens