Pour se connecter sur un serveur distant via SSH, normalement il faut saisir la commande :

ssh mon_user_distant@adresse_machine_distante

Où adresse_machine_distante peut être une adresse IP, ou un nom de machine si vous avez un DNS ou un fichier host bien configuré.

Puis saisir son mot de passe


Je vous propose grace à cet article de n’avoir plus qu’a saisir :

ssh mot_clé

(plus de mot de passe, de user et plus besoin de connaitre l’ip de la machine si vous n’avez pas de DNS)



Supprimer la saisie du mot de passe


Pour ce faire on utilisera un connexion SSH par clé et non plus par mot de passe , il faut donc que nous générions une paire de clé.


Se loguer avec cet utilisateur qui devra faire la connexion SSH ou faire un su pour cet utilisateur :

su mon_user_local



Générer une paire de clé sans passphrase


Cela se fait avec la commande :

ssh-keygen -t rsa -b 2048
  • rsa : type de la clé générée, on peut aussi choisir dsa
  • 2048 : longueur de la cél


A la question demandant où doit être sauvé la pair de clé généré, laisser la valeur par défaut : /home/mon_user_local/.ssh


Ajouter la clé public à l’ordinateur distant


Certains sites conseillent de copier la clé via scp sur l’ordinateur distant puis de faire un cat redirigé vers le fichier authorized_keys, mais il ya  plus simple :

ssh-copy-id -i /home/mon_user_local/.ssh/id_rsa.pub mon_user_distant@IP_machine_distante

Se connecter et ajouter l’ordinateur distant à liste des known_host

On peut alors de connecter avec :

ssh mon_user_distant@IP_machine_distante


Aucun mot de passe ne sera demandé, par contre à la première connexion, SSH vous demandera si vous voulez ajouter l’ordinateur distant à la liste des ordinateurs connus et de confiance, repondez oui sinon cette question vous sera posée à chaque fois.


The authenticity of host '192.168.1.104 (192.168.1.104)' can't be established.
RSA key fingerprint is 4d:24:12:81:41:c0:53:84:0f:da:33:b0:78:39:80:3d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.104' (RSA) to the list of known hosts.




Restreindre la porté de la clé


On peut si on veut ajouter de la sécurité restreindre les condition d’applications de la connexion via la clé précedement générée.

Pour cela sur la machine distante se connecter et editer .ssh/authorized_keys

vim /home/mon_user_distant/.ssh/authorized_keys


Y ajouter :

from="adresse_ip"

Où adresse_ip est l’adresse IP de la machine ayant le droit d’utiliser cette clé pour fiare une connexion SSH


Exemple :

from="192.168.1.222" ssh-rsa AAAAB3 ... cXgGiQ== 



Configuration des options par défaut


On peut via le fichier  .ssh/config spécifier à SSH l’utilisateur devant réaliser le connexion SSH et le nom ou l’adresse IP de la machine distante, le tout associé à un mot clé.

Ainsi il n’ya plus qu’a se souvenir de ce mot clé et SSH fait le reste.


Créer/éditer le fichier /home/mon_user_local/.ssh/config et y ajouter :


Host mot_cle
Hostname adresse_ip_machine_distante
User mon_user_distant


Le sauvegarder et la connexion se fera alors pas un simple :

ssh mot_cle


Sources :


http://reseau.erasme.org/static/serveurs_linux/sect_03_04.html

http://troy.jdmz.net/rsnapshot/

http://theclimber.fritalk.com/post/2009/06/17/Trics-Tips-%3A-configurer-son-client-ssh

Les commentaires sont fermés.