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.