Nous allons voir des notions avancées sur le SSH. Alors c’est parti.
Alors, qu’allons nous apprendre?
Nous allons voir dans cet article plusieurs choses :
- L’identification automatique par clé
- Le Tunneling serveurX par SSH
- Le transfert de fichier
Quel programme! J’espère que vous avez attaché vos ceintures.
L’identification automatique par clé
Je sais pas vous, mais moi je commence à en avoir marre de marquer à chaque fois mon mot de passe à lorsque je me connecte en SSH sur la raspberry. Vous aussi? Tient donc.
Nous allons donc utiliser un nouveau procédé : l’identification automatique par clé. Cette technique permet de nous identifier sur le serveur SSH à l’aide d’un couple de clé publique/privée. La clé privée serra sur l’ordinateur client et la publique sur la rasbperry. Il est conseillé de protéger la clé privée par une passphrase histoire de la sécuriser un peu (oui oui, on crypte la clé privée).
Alors c’est parti.
Tout d’abord, on va générer un couple de clé.
Windows
Sous windows, on utilise Puttygen pour le générer. Lancez le et choisissez dans les paramètres le type de cryptage à utiliser. Le RSA 124 bits est largement suffisant. Cliquez sur load.
Une fenêtre s’ouvre et vous pouvez faire quelque chose d’assez amusant : pour aider la génération, vous pouvez bouger la souris dans tout les sens dans la fenêtre !
Bien, une fois que tout est généré, vous pouvez entrer une passphrase pour renforcer la sécurité de la clé privée. A vous de voir ;). Enregistrez les deux clés mais ne fermez pas encore puttygen.
Maintenant, on va envoyer la clé publique sur le serveur SSH. Pour cela, ouvrez putty et connectez-vous sur celui-ci. Là, allez dans le dossier .ssh :
cd ~/.ssh
Si il n’existe pas, créez le:
mkdir .ssh
Une fois dedans, rajoutez la clé publique en faisant
echo votreCle >> authorized_keys
Rappelez-vous, vous pouvez trouver votre clé publique dans puttygen.
Par exemple :
echo "ssh-rsa AAAAB3NzaC1yc2E [...] AAAABJQAP++UWBOkLp0= rsa-key-20081117" >> authorized_keys
Voilà, vous pouvez maintenant vous connecter sans utiliser de mot de passe ;).
Linux
Pour linux, générez la clé en utilisant cette commande :
ssh-keygen -t rsa
Acceptez l’endroit par défaut de la sauvegarde puis transférez la clé publique sur le serveur SSH:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@ip
Si vous avez ensuite un problème de connexion bizarre du genre :
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
Utilisez la commande suivante :
ssh-keygen -R <ip>
Voilà, vous êtes identifié comme une personne de confiance (encore heureux, c’est votre rasberry !).
Le Tunneling serveurX par SSH
Le tunneling serveurX veut dire affichage graphique déporté. Vous voilà bien avancé non ?
Plus sérieusement, cela permet d’exécuter des applications graphiques à distance via le SSH. Tentez?
Tout d’abord, il faut autoriser le X11 à écouter la rasberry.
xhost +Ipserver
Ensuite, il faut ouvrir une session X sur la rasberry
ssh -X nomtilisateur@Ipserver
Attention, le paramètre est un X majuscule.
Cette commande permet le déport d’application X-Window. Maintenant vous pouvez démarrer n’importe quel programme graphique
Le transfert de fichier
On va apprendre à transférer des fichiers via le SSH.
Pour cela, on utilise scp.
Pour le transfert de fichier depuis votre ordinateur, on utilise la commande suivante
scp @:
Où fichier est le fichier que vous voulez transférer. Astuce: activez l’autorisation par clé pour avoir l’autocomplétion du dossier de destination. Cela permet au shell de se connecter à la rasbperry pour savoir les dossiers de destinations.
Pour faire la manip inverse, c’est à dire télécharger un fichier depuis la rasbperry vers votre ordinateur.
scp username@ipaddressDistant:Directory destinationLocal
Où directory est le fichier que vous voulez enregistrer et destinationLocal est le dossier où vous voulez l’enregistrer.
Voilà, ce tutoriel est fini, j’espère que cela vous auras été utile.