Outils pour utilisateurs

Outils du site


reseau:debian:clessh

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
reseau:debian:clessh [2020/01/23 10:05]
techer.charles_educ-valadon-limoges.fr [Retour au dossier sur la réplication des données ...]
reseau:debian:clessh [2021/11/30 10:12] (Version actuelle)
techer.charles_educ-valadon-limoges.fr [Configurer un accès SSH avec une clé SSH depuis un client OpenSSH]
Ligne 3: Ligne 3:
 ==== Présentation ==== ==== Présentation ====
  
-Pour administrer vos VMs vous devez utiliser le compte **root** ou un compte que vous avez créé et à qui vous avez permis une **élévation de privilèges**. Un mot de passe a été défini pour toutes les VMs. Cette solution n'est pas satisfaisante et peu sécurisée si vous devez gérer de nombreuses VMs.  +Pour administrer un serveur Linux, vous pouvez utiliser le compte **root** ou, ce qui est fortement conseillé, un compte que vous avez créé et à qui vous avez permis une **élévation de privilèges**.
  
-Nous n'avons pas de solution de centralisation de la gestion des comptes **root** des VMs Linux.+Si vous gérez un autre serveur, il est également fortement conseillé d'utiliser **un mot de passe différent**. Cette solution n'est **pas satisfaisante et peu sécurisée** si vous devez gérer de nombreux serveurs 
  
-Vous aller configurer le compte **root** ou le compte linux que vous avez créé choix afin de permettre d'ouvrir une session en utilisant une **clé publique SSH**.+Par ailleurs cela est problématique si vous avez des tâches d'administration à **automatiser** car la saisie manuelle du mot de passe sera nécessaire ou bien il faudra indiquer le **mot de passe dans les scripts**  ce qui est problématique si vous n'avez pas de solution pour les chiffrer.  
 +Les solutions possibles :  
 +  * utiliser un **annuaire LDAP pour centraliser** la gestion des comptes. 
 +  * utiliser des **clés SSH publique**. 
 + 
 +Vous aller configurer le compte **root** ou le compte linux que vous avez créé afin de permettre d'ouvrir une session en utilisant une **clé publique SSH**.
 Vous utiliserez **votre propre clé publique SSH** pour vous connecter. Vous utiliserez **votre propre clé publique SSH** pour vous connecter.
 Vous permettrez à l'enseignant de se connecter en simple utilisateur avec un compte que vous devez créer et appeler ensbtssio avec sa **clé publique SSH**. Vous permettrez à l'enseignant de se connecter en simple utilisateur avec un compte que vous devez créer et appeler ensbtssio avec sa **clé publique SSH**.
  
-Après la création de votre **couple de clés Privée/publique**, communiquez aux enseignants votre **clé publique** dans le dossier partagé Classe. Votre clé publique sera rajoutée à la page des clés SSH du BTS SIO à la page :+Après la création de votre **couple de clés Privée/publique**, communiquez aux enseignants votre **clé publique** dans le dossier partagé Classe.  
 + 
 +Votre clé publique sera rajoutée à la page des clés SSH du BTS SIO à la page :
   * [[clessh:listeclepublique|Les clés publiques SSH Etudiant/enseignants]]   * [[clessh:listeclepublique|Les clés publiques SSH Etudiant/enseignants]]
 +
 +<WRAP center round info>
 +  * En utilisant **mot de passe**, vous utilisez **un seul facteur** d'authentification.
 +  * En utilisant une **clé publique SSH,** vous utilisez également **un seul facteur** d'authentification.
 +Cependant, vous pouvez utiliser la **même clé publique SSH sur plusieurs serveurs** en ne retenant qu'un seul mot de passe, celui de la passphrase de votre clé privée.
 +
 +En général on **désactive** ensuite l'authentification par mot de passe sur les serveurs afin de n'autoriser que l'authentification par clé SSH publique.
 +
 +Pour en savoir plus : https://www.it-connect.fr/chapitres/authentification-ssh-par-cles/
 +
 +</WRAP>
 +
 +==== Générer une paire de clé SSH depuis un client OpenSSH====
 +Générer une paire de clés privée/publique depuis un client Windows ou linux.
 +<WRAP center round info >
 +Il est conseillé de protéger l'utilisation de la clé privée avec une passphrase.
 +</WRAP>
 +
 +<code shell>
 +$ ssh-keygen
 +
 +Generating public/private rsa key pair.
 +Enter file in which to save the key (/home/centrecallbd/.ssh/id_rsa):
 +Enter passphrase (empty for no passphrase):
 +Enter same passphrase again:
 +Your identification has been saved in /home/centrecallbd/.ssh/id_rsa.
 +Your public key has been saved in /home/centrecallbd/.ssh/id_rsa.pub.
 +The key fingerprint is:
 +SHA256:0rjedyVuT2fzEJHgw5I9lfmTsQ6MHSD87Xrr/aXE3r4 centrecallbd@Ch2Lab1
 +The key's randomart image is:
 ++---[RSA 2048]----+
 +|        .. .o .o |
 +|         ..= +oo |
 +|          + @ +.+|
 +|         + B =.|
 +|      o S   . + .|
 +|          .o.o |
 +|      .    ..o=.+|
 +|     . .  ..+=.*+|
 +|      . .. oo+=EB|
 ++----[SHA256]-----+
 +$
 +</code>
 +
 +Dans le dossier caché **.ssh** (sous Windows Linux ou MacOsX) vous avez votre couple de clés privée (id_rsa) et publique (id_rsa.pub).
 +<code shell>
 +$ ls .ssh
 +id_rsa  id_rsa.pub
 +$
 +</code>
 +<WRAP center round info>
 +Un autre fichier **know_hosts** sera ensuite créé dans le dossier **.ssh** afin de contenir **les clés publiques des serveurs** sur lesquels vous vous êtes authentifié avec un mot de passe ou une clé SSH publique.
 +  * Pour retrouver l'entrée d'un nom d’hôte connu dans known_hosts:
 +<code shell>
 +$ ssh-keygen -H  -F <hostname or IP address>
 +</code>
 +  * Pour supprimer une seule entrée de known_hosts:
 +<code shell>
 +# ssh-keygen -R <hostname or IP address>
 +</code>
 +</WRAP>
 +
 +==== Configurer un accès SSH avec une clé SSH depuis un client OpenSSH====
 +
 +  * Copiez ensuite votre clé publique sur le serveur auquel vous souhaitez accéder avec la clé SSH.
 +<code shell>
 +$ ssh-copy-id utilisateur@IP_ordinateur_cible
 +</code>
 +
 +<WRAP center round info>
 +La clé publique est copiée dans le fichier **.ssh/authorized_keys** du serveur distant. 
 +</WRAP>
 +
 +<WRAP center round info>
 +La commande ssh-copy-id n'est pas disponible sous Windows. Vous pouvez alors :
 +  * utiliser la commande **scp** pour copier le fichier  id_rsa.pub dans le dossier l'utilisateur ;
 +  * ouvrir une session ssh pour pouvoir ensuite ajouter le contenu du fichier id_rsa.pub dans le fichier authorized_keys :
 +<code shell>
 +C:> scp .ssh/id_rsa.pub compteutilisateur@adresseip:/home/compteutilisateur/
 +C:> ssh compteutilisateur@adresseip
 +$ cat id_rsa.pub >> .ssh/authorized_keys
 +</code>
 +</WRAP>
 +
 +Vous devez maintenant pouvoir vous connecter sans mot de passe au serveur distant :
 +<code shell>
 +$ ssh utilisateur@IP_ordinateur_cible
 +</code>
 +
 +Il est fortement conseillé ensuite de désactiver l'authentification par mot de passe en modifiant le fichier de configuration du service ssh sur le serveur distant **/etc/ssh/sshd_config** :
 +  * Décommentez la ligne suivante en mettant sa valeur à **no** :
 +<code shell>
 +PasswordAuthentication no
 +</code>
 +  * Modifiez la ligne suivante pour mettre sa valeur à **no** :
 +<code shell>
 +ChallengeResponseAuthentication no
 +</code>
 +
 +    * sauvegardez le fichier **/etc/ssh/sshd_config** et relancer le service ssh :
 +<code shell>
 +$ sudo systemctl restart ssh
 +</code>
 +
 +
 +Pour en savoir plus : 
 +  * {{https://fr-wiki.ikoula.com/fr/Cl%C3%A9_SSH-_comment_cr%C3%A9er_une_cl%C3%A9_SSH_(Debian_10)|Clé SSH- comment créer une clé SSH (Debian 10)}}
 +
 +
 ==== Génération des clés avec PuttyGen ==== ==== Génération des clés avec PuttyGen ====
  
reseau/debian/clessh.1579770302.txt.gz · Dernière modification: 2020/01/23 10:05 de techer.charles_educ-valadon-limoges.fr