Dans ce tutoriel voici ce que je vous propose : utiliser un SSH sécurisé pour établir une connexion à un serveur sans mot de passe. En route.
Le SSH est utilisé de manière régulière pour se connecter à un équipement à distance afin de passer des commandes ou exécuter des programmes ou encore copier des fichiers via le protocole SCP.
Généralement on utilise un login et un mot de passe pour se connecter à distance, je vous propose d’utiliser des clés SSH sécurisé. Cette méthode permettra de sécuriser l’échange entre deux serveurs en n’utilisant aucun de mot de passe.
Mon environnement :
- SSH Client local (MAC) : 192.168.1.16
- SSH Client distant (Serveur CENTOS) : 176.31.127.10
- Etape 1 Création des clés avec SSH-Keygen sur le client local.
Sur le client local (MAC), nous allons générer les clés publiques avec l’utilitaire ssh-keygen (cet utilitaire est présent de base dans MAC OS X).
Dans le terminal utiliser la commande suivante :
#ssh-keygen –t rsa
Pour cet exemple, je n’ais pas mis de passphrase. Votre clé RSA est maintenant créée.
- Etape 2 : Création d’un répertoire .ssh sur le client distant.
Cette étape va nous permettre de créer un répertoire .ssh (s’il n’est pas déjà créé).
Toujours depuis le terminal de votre client local (ici un MAC), connectez-vous en SSH sur votre serveur avec la commande suivante :
#ssh reynaudg@176.31.127.10 mkdir –p .ssh
- adduser mynewuser
- password mynewuser mot_de_passe
- Etape 3 : Transférer votre clé publique sur l’hôte distant.
Maintenant vous devez copier le fichier id_rsa.pub sur votre serveur distant dans le répertoire utilisateur reynaudg dans le répertoire .ssh dans le fichier authorized_keys. Bref cette ligne ce résume à cette commande :
#cat .ssh/id_rsa.pub | ssh reynaudg@176.31.127.10 'cat >> .ssh/authorized_keys'
- Etape 4 : Appliquer les bonnes permissions sur l’hôte distant.
A l’aide de cette commande, appliquer les autorisations suivantes :
#ssh reynaud@176.31.127.10 "chmod 700 .ssh; chmod 640 .ssh/authorized_keys"
A titre d’information :
- chmod 700 donne un droit de lecture, écriture, exécution juste pour le propriétaire.
- chmod 640 donne un droit de lecture, écriture pour le propriétaire, un droit de lecture pour le groupe et aucun droit pour les autres
- Etape 5 : Connectez-vous sur votre serveur distant sans mot de passe.
A partir de maintenant vous pouvez vous connectez en tant qu’utilisateur sur votre serveur sans saisir de mot de passe, votre connexion SSH sécurisé est opérationelle.
That’s All.