Outils pour utilisateurs

Outils du site


tech:connexion_par_clefs_ssh_-_exemple

Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
tech:connexion_par_clefs_ssh_-_exemple [2025/03/24 15:06] – créée - modification externe 127.0.0.1tech:connexion_par_clefs_ssh_-_exemple [2025/04/02 16:54] (Version actuelle) Jean-Baptiste
Ligne 1: Ligne 1:
 +<!DOCTYPE markdown>
 +{{tag>Brouillon Réseaux Sécurité}}
 +
 +# Connexion par clefs SSH - exemple
 +
 +Voir aussi : [[ssh_clefs|Notes clefs SSH]]
 +
 +## Première connexion
 +
 +// Client //
 +~~~bash
 +ssh utilisateur1@192.168.205.21
 +~~~
 +
 +Comme c'est la première fois que vous vous connectez à cette machine, l'empreinte n'est pas encore connue.
 +C'est pour éviter qu'un pirate se fasse passer pour votre serveur.
 +
 +Répondre **yes**
 +
 +~~~
 +The authenticity of host '192.168.205.21 (192.168.205.21)' can't be established.
 +ECDSA key fingerprint is 3e:4b:eb:d2:cb:90:ad:f7:64:b5:2e:eb:9f:d8:3a:ab.
 +Are you sure you want to continue connecting (yes/no)? yes
 +~~~
 +
 +
 +## ssh config
 +
 +Pour nous simplifier la vie et ne pas taper à chaque fois l'IP, le numéro de port et l'utilisateur, nous allons enregistrer tout cela dans un fichier de config
 +
 +// Client //
 +
 +''~/.ssh/config''
 +
 +~~~
 +Host serv1
 +        Hostname 192.168.205.21
 +        User utilisateur1
 +        Port 22
 +~~~
 +
 +Le caractère '**~**' signifie le **HOME** de l'utilisateur, c'est-à-dire son répertoire par défaut (voir ''/etc/passwd''
 +
 +Maintenant nous pouvons nous connecter
 +
 +// Client //
 +~~~bash
 +ssh serv1
 +~~~
 +
 +## Connexion par clef
 +
 +Avons-nous déjà une paire de clefs ?
 +
 +// Client //
 +~~~bash
 +ls -l ~/.ssh/id_*
 +~~~
 +
 +Si non (aucun fichier trouvé), créons une paire
 +
 +// Client //
 +~~~bash
 +ssh-keygen
 +#ssh-keygen -t ecdsa -b 521
 +~~~
 +
 +Ou par script
 +~~~bash
 +if [ ! -e ~/.ssh/id_rsa ]
 +then
 +   ssh-keygen -q -N "" < /dev/zero
 +fi
 +~~~
 +
 +Appuyer trois fois sur entrée (valeur par défaut)
 +
 +// Client //
 +~~~bash
 +ls -l ~/.ssh/id_*
 +~~~
 +
 +~~~
 +-rw------- 1 jean jean 1679 mai   12 15:44 /home/jean/.ssh/id_rsa
 +-rw-r----- 1 jean jean  394 mai   12 15:44 /home/jean/.ssh/id_rsa.pub
 +~~~
 +
 +Nous avons deux fichiers :
 +* **id_rsa.pub** : Clef publique RSA, le fichier peut être distribué à tous, même sur le web
 +* **id_rsa** : Clef privée RSA, fichier **à garder précieusement**. À ne jamais distribuer à personne
 +
 +Jetons un œil à la clef publique
 +
 +// Client //
 +
 +''~/.ssh/id_rsa.pub''
 +
 +~~~
 +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDgQYGWtV+70Zegq7gVS+h/OsSi3tvhcp3o1HemKhkORlbLSSMM60dkhid5rcy9e/NUhMElbpBE46CkRqvRLKFsqMwTkEVJoRkjGXi/w/mHu/1RqSVUBwFkXL3lJSrWAHgV1T5kXeq9z8LgoJgCdEfb4UF9XSYasPhaL6wT9T+TJ6VfEhKDOhV5IcJ8J6HQG0MW3NnAztVnHj4a8ZuAcVR9/cs+hWpQiEuixkSmsUHN7b6XJ+JOJiP3MBodIfMPEfd1IDLHA8uOuqGWeQPeUh0nPcLlnJnJ6cw40Ejhg80KCSFN8uOVigWwAimo0FCGxNNYqAtTDipuK5l0JKUG5YKV jean@debian2
 +~~~
 +
 +
 +## Autorisation
 +
 +Maintenant j'aimerais bien pouvoir me connecter sans mot de passe à serv1 (utilisateur1@192.168.205.21).
 +
 +Rien de plus simple, je vais déposer ma clef publique (on ne copie jamais sa clef privée !) dans le HOME de utilisateur1 sur 192.168.205.21.
 +
 +Pour être exacte il faut ajouter la clef publique dans ''~/.ssh/authorized_keys''.
 +
 +// Serveur //
 +~~~
 +mkdir ~/.ssh
 +cat <<EOF >> /root/.ssh/authorized_keys
 +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDgQYGWtV+70Zegq7gVS+h/OsSi3tvhcp3o1HemKhkORlbLSSMM60dkhid5rcy9e/NUhMElbpBE46CkRqvRLKFsqMwTkEVJoRkjGXi/w/mHu/1RqSVUBwFkXL3lJSrWAHgV1T5kXeq9z8LgoJgCdEfb4UF9XSYasPhaL6wT9T+TJ6VfEhKDOhV5IcJ8J6HQG0MW3NnAztVnHj4a8ZuAcVR9/cs+hWpQiEuixkSmsUHN7b6XJ+JOJiP3MBodIfMPEfd1IDLHA8uOuqGWeQPeUh0nPcLlnJnJ6cw40Ejhg80KCSFN8uOVigWwAimo0FCGxNNYqAtTDipuK5l0JKUG5YKV jean@debian2
 +EOF
 +chmod 600 ~/.ssh/authorized_keys
 +~~~
 +
 +Attention, pour des raisons de sécurité les droits sur ''~/.ssh/authorized_keys'' doivent être 600 (Lecteur-écriture que pour le propriétaire) et le fichier doit appartenir à l'utilisateur concerné.
 +## Passe-phrase 
 +
 +** partie à rédiger **
 +
 +Que se passe t-il si votre clef privée tombe entre de mauvaises mains ?
 +Pour se prémunir, il est possible de chiffrer la clef SSH privée avec une passe-phrase.
 +
 +Et pour éviter de taper à chaque fois la passe-phrase, on utilise un "agent", aussi la passe-phrase ne sera demandée qu'une seule fois.
 +
 +
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki