[ Thread Index |
Date Index
| More lists.tuxfamily.org/carrefourblinux Archives
]
Le Fri, 31 Oct 2014 14:59:44 +0100 (CET)
Pierre Lorenzon <devel@xxxxxxxxxxxxxxxxxxxx> écrivait:
> Y a t il un bon connaisseur de ssh par ici qui pourrait m'en
> dire plus que la doc où je n'ai pas trouvé mon bonheur. Peut-on
> supprimer la demande du mot de passe lors d'une connection ssh
Bonjour,
trouvé cela sur http://www.generation-linux.fr/index.php?post/2008/02/26/79-se-connecter-en-ssh-sans-demande-de-mot-de-passe
est-cela que tu cherches ?
amicalement
Erwin
-----------------
Se connecter en ssh sans demande de mot de passe
Cet article a été publié par Benjamin le 26-02-08 à 17:46 dans la catégorie Serveur
Nous avons vu comment se connecter à distance, en ssh, sur une machine dans ce tuto. Voici donc aujourd'hui comment se connecter en ssh sans demande de mot de passe.
J'ai une machine (A), avec un compte "benjamin" à partir de laquelle je souhaite me connecter en root sur une autre machine (B) sans demande de mot de passe.
Sur la machine A (en utilisateur benjamin) :
--------------------------------------------------------
ssh-keygen -t rsa, puis 3 fois Entrée
Cette commande me génère une clé publique et une clé privée (dans l'ordre, id_rsa.pub et id_rsa) dans le dossier /home/benjamin/.ssh
Ensuite, il faut copier la clé publique (id_rsa.pub) dans un fichier authorized_keys dans le dossier /root/.ssh de la machine B.
Sur la machine B :
------------------------
sudo mkdir /root/.ssh
Créé le dossier /root/.ssh
Sur la machine A :
-----------------------
scp /home/benjamin/.ssh/id_rsa.pub 192.168.1.4:/root/.ssh/authorized_keys
En supposant que l'adresse IP de la machine B soit 192.168.1.4.
Il faut, uniquement cette fois, taper le mot de passe root de la machine B. Cette commande copie le fichier /home/benjamin/.ssh/id_rsa.pub dans le fichier /root/.ssh/authorized_keys de la machine B (même si ce fichier n'existe pas).
Toujours sur la machine A (en utilisateur benjamin) :
-------------------------------------------------------------------
ssh root@192.168.1.4 (puis confirmer avec yes)
Plus aucun mot de passe ne sera demandé.
Le fichier /home/benjamin/.ssh/known_hosts contient les 'identifiants' du pc sur lequel on a voulu se connecter.
Résumé :
- Je génère une clé publique ssh avec le compte benjamin sur la machine A,
- je la copie sur la machine B dans le fichier /root/.ssh/authorized_keys (si je veux avoir accès au compte root sans mot de passe),
- à partir de la machine A (avec le compte benjamin) je me connecte en ssh sur la machine B (ssh root@adresse_ip_machineB)
- il se créé donc un fichier /home/benjamin/.ssh/known_hosts contenant l'identité de la machine B.
Note : Pour améliorer la sécurité de ces connexions par clé RSA, nous pouvons restreindre l'utilisation de la clé d'authentification à l'adresse IP de la machine A en ajoutant from="" devant la clé dans le fichier authorized_keys.
Ce dernier ressemblera donc à ceci :
from="192.168.1.2" ssh-rsa AB3NzaC1yc2EAzYABIwAb[...]
Note 2 : Une fois que nos clés publiques/privées ont été générées sur la machine A (étape 1), il est possible "d'automatiser" tout le reste avec une seule commande : ssh-copy-id
Très simplement, sur la machine A, vous n'avez qu'à taper :
ssh-copy-id root@192.168.1.4 (pour reprendre notre exemple). Cette commande se chargera de créer le répertoire .ssh et de remplir le fichier authorized_keys automatiquement sur la machine distante.
Pour les connexions SSH sur un port autre que le port 22, il faut lancer la commande ssh-copy-id "-p 2224 root@192.168.1.4"
--
CarrefourBLinuX MailingListe
Pour obtenir de l'aide, envoyez le sujet help � carrefourblinux-request@xxxxxxxxxxxxxxxxxxx
Archives:
http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux