[TUTO] Comment se connecter en SSH sans devoir à entrer ses identifiants

 

Dans ce Tuto nous allons voir comment établir une session SSH sans devoir à taper ses identifiants à chaque connexion, à la fois entre son ordinateur et son MicroPC ou entre 2 MicroPc.

 

Pour ce Tuto j'ai utilisé :

  • Un Ordinateur sous Windows 10
  • Un Raspberry Pi B2 sous Libreelec
  • Un Odroid C2 sous Libreelec

 

Préalable 

 

Pour ce tuto il va nous falloir :

  • Un MicroPc
  • Un Ordinateur sous Windows/Linux et/ou un MicroPc
  • Putty et PuttyGen  pour établir des connexions et générer une clé privé

 

 

Création de clé privé sur les ordinateurs distant sous Windows et Libreelec 

 

 

La première des choses à faire est de générer des clés privés sur les ordinateurs à partir duquel nous établirons des connexions SSH.

 

Souhaitant me connecter sur un Raspberry Pi B2, à la fois à partir d'un ordinateur sous Windows avec Putty et d'un Odroid C2 sous Libreelec,  il va me falloir créer 2 clés privés.

 

     1. Création de la clé Privé sous Windows

 

Pour créer notre première clé nous allons utiliser le logiciel PuttyGen. Voici la marche à suivre :

  • Ouvrir le logiciel PuttyGen
  • Cliquer sur Generate. Faire bouger plusieurs fois la souris sous la barre de progression pour faire avancer la génération de clé
  • Sélectionner la clé généré, la copier dans un fichier texte puis sauvegarder votre fichier. ( laisser le fichier ouvert, nous l'utiliserons pour la suite de notre tuto )
  • Cliquer sur Save Private Key et sauvegarder le fichier .ppk dans le répertoire de votre choix ( de préférence celui ou se trouve Putty ). Je lui ai donné le nom de RaspB2_192.168.1.250.ppk.
  • Quitter le programme

 

  

Nous venons de créer notre clé afin de nous connecter à partir de Windows. Créons maintenant notre clé à partir de l'Odroid C2.

 

 

     2. Création de la clé Privé sous Libreelec

 

 

La création de clé sous Libreelec se fait en utilisant la commande ssh-keygen. Afin de la générer je vais établir une connexion sur Odroid C2. Comme pour la version Windows, voici la marche à suivre :

  • Établir une connexion SSH sur MicroPC
  • Une fois la connexion faite taper la commande ssh-keygen -t rsa puis valider 3 fois pour générer la clé

Voici ce qu'on obtient :

 

1ère Méthode :

 

Notre clé privé est créer et sauvegarder dans le dossier /storage/.ssh/. Pour l'afficher nous allons faire un Cat comme ceci :

  • cat id_rsa.pub 

 Puis il faudra faire un copier coller de cette clé dans un fichier texte ( j'ai collé ma 2ème clé dans le même fichier que précédemment, juste en dessous de la 1ère )

 

2nde Méthode :

 

Il possible de copier notre fichier id_rsa.pub contenant notre clé privé directement sur l'ordinateur cible en utilisant cette commande :

  • scp -P 22 id_rsa.pub user@Ipcible:~/.ssh/Fichiercible

Par exemple si je souhaite copier le fichier id_rsa.pub  à partir de mon Odroid C2 IP 192.168.1.252 sur mon RapberryPi B2 IP 192.168.1.250 :

  • scp -P 22 id_rsa.pub root@192.168.1.250:~/.ssh/authorized_keys.source

Voici le résultat de mes commandes :

 (j'ai utilisé authorized_keys.source pour ne pas remplacer un fichier authorized_keys qui pourrai existé )

 

 

Le fichier authorized_keys.source n'existait pas avant le lancement de la commande ( partie droite de la 1ere image ) puis suite à l’exécution de la commande scp, celui-ci à était copier sur l'ordinateur cible 192.168.1.250 ( partie droite de la dernière image ).

 

Nous venons de voir comment créer des clés privés sur un Ordinateur sous Windows et sur un Odroid C2 sous Libreelec. Il va falloir les copier dans notre Ordinateur Cible afin de les utiliser.

 

 

Copie des clés Privés sur la Cible

 

 

Afin de pouvoir copier nos clés sur l'ordinateur cible, nous allons établir une connexion SSH sur celui-ci en utilisant Putty. Une fois la connexion établi voici la marche à suivre :

  • Entrer dans le répertoire .ssh/storage/.ssh )
  • Si vous avez copier votre fichier avec la commande SCP, il faudra renommer authorized_keys.source en authorized_keys
  • Editer le fichier authorized_keys avec la commande nano authorized_keys ( ou si vous pouvez, transférer votre fichier texte sauvegarder plus haut dans le tuto via Samba ou Sftp dans le répertoire .ssh et renommer le en authorized_keys)
  • Faire un copier des clés se trouvant dans notre fichier texte puis le coller dans la console SSH
  • Faire attention au retour à la ligne lors du copier coller. J'ai du supprimer des espaces afin de rectifier la mise en forme ( voir la différence entre les images 2 / 4 et 3 / 5. Le fichier doit ressembler au 2 dernières ).
  • Faire un CTRL + X puis taper sur Y ou O puis entrer pour enregistrer le fichier
  • Faire un cat authorized_keys pour vérifier le contenu du fichier

Voici le résultat de la manipulation :

 

Une fois que notre fichier est en place, testons notre connexion.

 

 

Configuration et Lancement des connexions SSH avec clé privé

 

 

     1. Connexion à partir de Libreelec

 

Restons sur notre connexion SSH ouverte pour établir une nouvelle connexion afin de voir si les modifications effectués ont était prise en compte. Pour cela, exécutons la commande ci-dessous sur le MicroPC source ( 192.168.1.252 pour moi ) :

  • ssh 192.168.1.250 

Voici le résultat que l'on doit s'attendre à obtenir :

 

On peut voir que la demande de mot de passe ne m'a pas était demandé donc la clé est fonctionnelle.

Passons maintenant à la configuration de Putty sous Windows pour établir la même connexion sans mot de passe.

 

 

     2. Connexion à partir de Windows

 

Pour établir une connexion SSH sans mot de passe, nous allons configurer Putty pour qu'il utilise la clé privé dans le fichier ( extension .ppk ) que nous avons crée en début de tuto. Commençons par ouvrir le logiciel puis :

  • Entrer l'adresse IP de la destination dans le champ Hostname ( 192.168.1.250 )
  • Entrer un nom pour votre connexion, RaspB2_192.168.1.250 par exemple
  • Cliquer sur Data et dans le champ Auto-login username taper le nom d'utilisateur à utiliser ( dans mon cas root )
  • Cliquer ensuite sur SSH, sur Auth et enfin sur Browse
  • Sélectionner votre fichier .ppk que l'on a sauver en tout début de tuto ( RaspB2_192.168.1.250.ppk pour moi )
  • Cliquer sur Session puis sur Save pour sauvegarder la configuration

 

Et enfin lançons la connexion en cliquant sur Open. Comme sous Libreelec avec notre Odroid C2, la connexion devrai s’établir sans que la demande de mot de passe nous soit demandé :

Nous constaterons que root à était utilisé comme nom d'utilisateur et le mot de passe par la clé privé rsa.

 

 

 

Pour aller plus loin

 

 

Maintenant que nous avons réussi à nous connecter en SSH sans se soucier d'entrer le nom d'utilisateur et mot de passe, il est possible de lancer des commandes, comme on le ferai en local. Par exemple, nous allons demander au Raspberry B2, de s’éteindre via la connexion SSH établi à partir de l'Odroid C2. Voici ma commande :

  • ssh 192.168.1.250 shutdown -h 0

 

Apres l’exécution de la commande, le Raspberry s'est bien éteint. Il ne répond plus au Ping.

 

 

Voila vous savez comment établir une connexion SSH sur votre MicroPc de manière sécurisé et sans que le mot de passe ne vous soit demandé aussi bien à partir d'un ordinateur sous Windows/Linux avec le logiciel Putty qu'avec un autre MicroPc en ligne de commande.

 

 

Bon mod à tous !!!

 

 

Commentaires : 0 (Discussion fermée)
    Aucun commentaire pour le moment.