• Passer à la navigation principale
  • Passer au contenu principal
  • Passer à la barre latérale principale
  • Passer au pied de page
Hotfirenet

Hotfirenet

le blog d'un papa Geek

  • Actualités info
  • Domotique
    • Jeedom
  • Catégories
    • Comment faire
    • Développement
    • Edito
    • Multimédia
    • Retour d’expérience

Configuration de SSH et mise en place de clés privées – publiques sur un raspberry-pi

Nous avons vu dans la première partie comment se connecter au raspberry-pi en utilisant le logiciel Putty et le protocole SSH pour configurer le Raspberry-Pi. Mais qu’est-ce que c’est SSH. ?

Présentation de SSH

Beaucoup parle de SSH, pour se connecter à un système linux, pour faire un tunnel pour contourner le proxy de votre boite (non je n’ai jamais dit ça d’ailleurs vous ne trouverez pas de tutoriel pour faire ce genre de chose sur ce blog :))))) )

Sachant qu’il est hors de question d’utiliser l’interface graphique du raspberry-pi et qu’il n’y a ni clavier ni écran de connecté à celui-ci, nous devons utiliser SSH pour se connecter à distance et exécuter les diverses commandes.

Bon enfin bref ce qu’il faut savoir sur SSH

  • c’est que SSH veut dire Secure Shell,
  • qu’il y a une version 1.0 et 2.0,
  • qu’il permet de se connecter à un ordinateur distant de façon sûre et d’avoir une ligne de commande,
  • que c’est le digne successeur de Telnet (port 23) mais en version sécurisée sur le (port 22).

 En prérequis nous avons besoin de:

  • Avoir suivi cette première partie (Bonjour, je vous présente le Raspberry-Pi et son installation),
  • Puttygen

Si vous voulez en savoir un peu plus parce que vous êtes un grand curieux je peux vous orientez vers ces différentes sources:

  • http://fr.wikipedia.org/wiki/Ssh
  • http://www.commentcamarche.net/contents/214-cryptographie-secure-shell-protocole-ssh

Installation

Par défaut sur un raspberry-pi, openSSH est installé donc pas besoin de s’embêter à faire l’installation.

Pour information l’installation est très compliquée:

 sudo apt-get install openssh-server

 

Les commandes utiles :

Pour lancer le service:

sudo service ssh start

 Pour arrêter le service:

sudo service ssh stop

 Pour  relancer le service:

 sudo service ssh restart

Configuration de SSH

Dans beaucoup de tutoriels que j’ai regardé il n’y a pas grand monde qui parle de sécuriser au minimum le Raspberry-pi.

Evidement si celui-ci est sur votre réseau local il n’y a pas trop besoin, mais s’il est accessible depuis le net je pense qu’il y’a un minimum de choses à faire pour éviter quelques désagréments.

Je ne suis pas un expert en sécurité mais voici une petite liste d’action à mener.

Tout se passe dans le fichier /etc/ssh/sshd_config.

Donc pour l’éditer:

sudo nano /etc/ssh/sshd_config

 

Changer les différentes valeurs suivantes:

PermitRootLogin no Le serveur refuse que l’utilisateur et administrateur root ne se connecte en direct.
Port 22 On retrouve sur quelques sites le changement de port pour le service SSH. Personnellement je ne le fais pas car si quelqu’un scan votre machine il verra les ports ouverts et essaiera d’y passer pour rentrer sur votre machine donc qu’il soit sur le 22 ou 4444 le mec tentera.
PasswordAuthentication no Rend la connexion en SSH possible uniquement avec un système de clés privées, clés publiques.
PubkeyAuthentication yes  Permet l’authentification par clés privées, clés publiques.
UsePAM no Si vous voulez désactiver le passphrase. Necessite PubkeyAuthentication à yes
X11Forwarding no Désactive la partie affichage graphique déportée.

 

Vous pouvez aussi définir les utilisateurs qui peuvent se connecter au SSH avec le paramètre: AllowUsers.

Il vous reste plus qu’à enregistrer et quitter le fichier.

Pour que le service SSHd prenne en compte les modifications nous pouvons utiliser cette commande:

sudo service ssh reload

Si vous en voulez un peu plus:

http://www.cyberciti.biz/tips/linux-unix-bsd-openssh-server-best-practices.html

Ou faite un:

man  ssh

02 - SSH - man

Vous avez vu que nous avons désactivé le système de mot de passe, vous n’êtes pas  obligé de le faire et /ou pouvez retarder la modification des paramètres PasswordAuthentication, PubkeyAuthentication et UsePAM pour ne pas être coincé si une erreur se produit lors de la manipulation de la mise en place d’une clé privée / publique pour se connecter à notre raspberry-pi.

Authentification par clé SSH

Pourquoi utiliser une clé publique/privée ?

Tout simplement pour sécuriser un peu mieux notre serveur d’un simple couple login / mot de passe.

En gros :

01 -SSH - cle privee - publique

L’authentification par clé fonctionne grâce à 3 composants :

  • Une clé publique : elle sera exportée sur chaque hôte sur lequel on souhaite pouvoir se connecter.
  • Une clé privée : elle permet de prouver son identité aux serveurs.
  • Une passphrase : Permet de sécuriser la clé privée (notons la subtilité, passphrase et pas password… donc « phrase de passe » et non pas « mot de passe »).

Le PC tourne sous Windows nous utiliserons donc Putty et le serveur sera le Raspberry-pi.

 Générer la clé privée / publique depuis Windows avec puttyGen

L’opération n’est pas compliquée il vous suffit:

  1. d’exécuter puttyGen.exe,
  2. Cliquer sur générer,
  3. Bouger la souris dans le cadre jusqu’à ce la barre d’avancement verte arrive au bout.

03 - SSH - puttyGen - Generate

Maintenant vous devez avoir vos 2 fichiers de générer, vous pouvez pour assurer la sécurité mettre une passphrase. Dans notre cas je n’en mettrais pas.

04 - SSH - puttyGen - cle Generees

Vous enregistrez le fichier de clé privée et le fichier de clé publique sur votre disque.

10 -SSH - enregistrement des fichiers

Vous sélectionnez le contenu « Public key for past into openSSH autorized_key file »

05 - SSH - puttyGen - selection cle publique

Mise en place de la clé publique sur le serveur

Vous devez créer le répertoire « .ssh » si il n’existe pas dans votre home:

mkdir .ssh

Créer le fichier « authorized_keys« :

nano  .ssh/authorized_keys

06 - SSH - puttyGen - creation du fichier authorized_keys

Coller le contenu que vous avez sélectionné l’étape précédente.

07 - SSH - puttyGen - mise en place de la cle publique

On applique les bons droits:

chmod go-w ~/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

09 -SSH - on check les droits

Utilisation avancée de Putty

Nous allons voir comment sauvegarder les paramètres de connexion dans Putty et l’auto login.

Ouvrir Putty et :

11 -SSH - configuration putty

1.   Mettre l’adresse IP du Raspberry-Pi

2.   Donner un nom à l’enregistrement

 

 

 

 

 

 

 

 

12 -SSH - configuration putty - data - auto login3.   Se rendre dans Connexion – Data

4.   Remplir l’auto login par votre login

 

 

 

 

 

 

 

5.  Déplier SSH  –  6. Se rendre Auth  –  7.  Faite Browse  –  8.  Sélectionner votre clé privée enregistrée auparavant  –  9. Cliquer sur Ouvrir

13 -SSH - configuration putty - SSH - Auth - cle privee

14 -SSH - configuration putty - Save - Open10.  Se rendre dans Session et cliquer sur Save

11.  Pour finir cliquer Open

 

 

 

 

 

 

 

Voilà qui est finie pour cette partie.

À propos Djo

Autodidacte, curieux et motivé.

Interactions du lecteur

Commentaires

  1. Pascal dit

    11 avril 2015 à 19 h 36 min

    Bonjour,
    Super tuto, en revanche comment faire pour générer les clés sous MAC OS?

    Merci d’avance.
    Pascal

    Répondre
  2. Pascal dit

    11 avril 2015 à 19 h 36 min

    Bonjour,
    Super tuto, en revanche comment faire pour générer les clés sous MAC OS?

    Merci d’avance.
    Pascal

    Répondre
  3. Grégoire Gebbia dit

    27 mars 2016 à 13 h 51 min

    Bonjour, j’ai ce message d’erreur lorsque je lance la commande « chmod 600 ~/.ssh/authorized_keys »

    [email protected]:/home/pi# chmod 600 ~/.ssh/authorized_keys
    chmod: cannot access ‘/root/.ssh/authorized_keys’: No such file or directory

    J’ai besoin d’aide s’il vous plait

    Répondre
    • Djo dit

      29 mars 2016 à 10 h 32 min

      Bonjour, le fichier ne doit pas être crée.
      Je n’utilises pas le root dans mon exemple, mais l’utilisateur pi, tu as du louper une étape 🙂

      Répondre
  4. Grégoire Gebbia dit

    27 mars 2016 à 13 h 51 min

    Bonjour, j’ai ce message d’erreur lorsque je lance la commande « chmod 600 ~/.ssh/authorized_keys »

    [email protected]:/home/pi# chmod 600 ~/.ssh/authorized_keys
    chmod: cannot access ‘/root/.ssh/authorized_keys’: No such file or directory

    J’ai besoin d’aide s’il vous plait

    Répondre
    • Djo dit

      29 mars 2016 à 10 h 32 min

      Bonjour, le fichier ne doit pas être crée.
      Je n’utilises pas le root dans mon exemple, mais l’utilisateur pi, tu as du louper une étape 🙂

      Répondre
  5. munanui dit

    18 juillet 2016 à 22 h 13 min

    bonsoir,
    et merci pour ce tuto. Je regarderais le reste de ton blog une fois le tuto fini et fonctionnel 🙂

    tout fonctionne comme il faut mais j’ai une petite question:
    A la toute fin, lorsque je veux ouvrir ma session possédant les clefs j’obtiens un message « Server refused our key ». et je dois donner le mot de passe de mon utilisateur.
    Est-ce que c’est normal? Car dans putty j’ai l’option « display pre-autehtication banner » de cocher.
    Ou alors j’ai fait de la merde avec les clefs.

    Ps: Pourquoi ne pas avoir mis de passphrase, cela réduit la sécurité non?

    Répondre
    • Djo dit

      20 juillet 2016 à 15 h 35 min

      Salut munanui,
      si tu dois saisir le user et le mdp c’est les clés ne fonctionnent pas.
      Tu as bien la clé publique dans le répertoire .ssh de ton user et que c’est bien celle que tu as généré avec putty ?

      Répondre
  6. munanui dit

    18 juillet 2016 à 22 h 13 min

    bonsoir,
    et merci pour ce tuto. Je regarderais le reste de ton blog une fois le tuto fini et fonctionnel 🙂

    tout fonctionne comme il faut mais j’ai une petite question:
    A la toute fin, lorsque je veux ouvrir ma session possédant les clefs j’obtiens un message « Server refused our key ». et je dois donner le mot de passe de mon utilisateur.
    Est-ce que c’est normal? Car dans putty j’ai l’option « display pre-autehtication banner » de cocher.
    Ou alors j’ai fait de la merde avec les clefs.

    Ps: Pourquoi ne pas avoir mis de passphrase, cela réduit la sécurité non?

    Répondre
    • Djo dit

      20 juillet 2016 à 15 h 35 min

      Salut munanui,
      si tu dois saisir le user et le mdp c’est les clés ne fonctionnent pas.
      Tu as bien la clé publique dans le répertoire .ssh de ton user et que c’est bien celle que tu as généré avec putty ?

      Répondre

Laisser un commentaire Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Barre latérale principale

Catégories

  • Actualités info
  • At-Home
  • Bon plan
  • Comment faire
  • Développement
  • Domotique
  • Edito
  • High-Tech
  • Jeedom
  • Multimédia
  • Open-Source
  • Retour d’expérience
Infomaniak, l'hebergeur vert

Footer

A PROPOS

Hotfirenet.Com est un blog Geek et High-Tech qui touche au développement informatique, nouvelles technologies, Web, domotique, drones, impression 3D .... En savoir plus…

Djo: Afficher mes articles de blog

PSSST, et si on bossait ensemble ?

Mes compétences ? Le web et le développement informatique. Besoin d’un développement de sites web ? de rédaction de contenu web, d’une expertise en SEO et médias sociaux ? Ou bien vous souhaitez me proposer un partenariat ?

Tous droits réservés © 2022

  • Mentions légales
  • Contact