SSH avec IPCOP : Authentification par clé

I. Présentation

La distribution IPCOP permet l’administration à distance via le protocole SSH en se connectant par mot de passe. Il est également possible de mettre en place une connexion SSH sécurisée par l’utilisation d’une paire de clés asymétriques.

La clé publique restera toujours sur le serveur IPCOP, tandis que le poste utilisé pour la connexion à distance devra disposer de la clé privée. Une clé privée qui devra être au préalable converti avec l’utilitaire « PuttyGEN » afin d’être compatible et utilisable avec Putty.

Dans le principe, dans un premier temps, la paire de clés doit être générées sur le serveur IPCOP grâce à la commande adéquate. Ensuite, on autorisera la clé publique auprès du serveur IPCOP pour qu’il ait confiance en cette clé.

Dans un deuxième temps, la clé privée doit être transférée sur le poste client pour être utilisée lors d’une connexion. Il est important de préciser que cette clé privée doit être conservée précieusement puisque c’est la seule et unique clé qui permet de se connecter à notre serveur IPCOP.

Pour finir, on désactivera l’authentification SSH par mot de passe sur le serveur IPCOP dans le but de pouvoir se connecter uniquement si l’on détient la clé privée. Puis, on effectuera une tentative de connexion.

Avant de commencer, vérifiez que l’accès SSH par mot de passe est activé. Il est utile de l’activer pour le transfert de la clé privée vers le poste client.

II. Générer la paire de clés

La première étape consiste à générer la paire de clés dans le but d’obtenir une clé publique et une clé privée. Dans notre cas, les clés seront chiffrées avec l’algorithme RSA et elles feront 2048 bits.

La commande « ssh-keygen » permet de générer les clés, vous pouvez donc saisir la commande suivante sur votre serveur IPCOP :

ssh-keygen -t rsa -b 2048

Une fois la commande exécutée, deux questions vous sont posées :

- Nom des clés et éventuellement l’arborescence où elles doivent être stockées. Par défaut, la clé privée se nomme « id_rsa » et la clé publique « id_rsa.pub », et elles sont stockées dans le répertoire caché « ssh » situé dans « /root ».

- Une passphrase c’est-à-dire un mot de passe qui servira à utiliser la clé, ce qui signifie que si quelqu’un récupère votre clé privée, il lui faut qu’il connaisse la passphrase pour l’utiliser.

ipcopssh1

III. Autoriser la clé publique

Un fichier nommé « authorized_keys » et stocké dans « /root/.ssh » doit être créé pour indiquer qu’on autoriser la clé publique qu’on vient de créer. Sans ça, le serveur n’acceptera pas de communiquer avec le poste client.

Pour se faire, on utilise la commande cat pour copier le contenu du fichier de clé publique « id_rsa.pub » dans le fichier « authorized_keys » situé dans le répertoire caché « ssh » de « root ».

cd /root/.ssh
cat id_dsa.pub >> authorized_keys

Ensuite, vérifiez que le contenu a bien était ajouté dans le fichier « authorized_keys » :

cat authorized_keys

ipcopssh2

IV. Transfert de la clé privée

La clé privée doit être transférée sur le poste client pour qu’on l’utilise avec Putty lors de la connexion. A l’aide de WinSCP, connectez-vous sur votre serveur IPCOP afin de transférer la clé privée grâce au protocole SCP, qui permet de copier des fichiers de manière sécurisées grâce au SSH.

Note : Le port SSH d’IPCOP 1.4.20 est 222 et pour IPCOP 2.0.3 c’est 8022.

Naviguez dans l’arborescence jusqu’à « /root/.ssh » et transférez sur le poste client le fichier « id_rsa ».

ipcopssh3

V. Conversion de la clé privée

Comme je le disais dans la présentation, le format de clé par défaut n’est pas utilisable avec Putty. Grâce à l’utilitaire « PuttyGen » téléchargeable gratuitement sur internet, nous allons pouvoir convertir la clé privée dans une clé au format « .ppk » (Putty Private Key) et ainsi l’utiliser avec Putty.

Exécutez l’utilitaire et cliquez sur le menu « Conversions » puis « Import key » et allez chercher votre clé privée sur votre PC.

Lorsque vous confirmez l’importation, on vous demande la passphrase que vous avez définit pour pouvoir utiliser la clé. Saisissez-la.

ipcopssh4

Cliquez ensuite sur « Save private key » et nommez-la « id_rsa.ppk » puis cliquez sur « Enregistrer ».

VI. Configuration du SSH

Avant d’effectuer une tentative de connexion SSH grâce à notre clé, nous allons désactiver l’authentification SSH par mot de passe afin qu’elle se fasse uniquement par clé.

Sur l’interface d’administration de votre serveur IPCOP, allez dans le menu « Système » puis « Accès SSH ».

Indiquez la configuration suivante puis validez :

ipcopssh5

VII. Tentative de connexion

Pour finir, établissez une tentative de connexion entre votre PC client et votre serveur IPCOP grâce à Putty. Indiquez l’adresse IP de votre serveur et le port SSH correspondant (222 ou 8022 selon la version d’IPCOP).

Puis, dans le menu de configuration de Putty, allez dans « Connection », « SSH » et cliquez sur « Auth » puis ensuite sur « Browse » et indiquez le chemin vers votre clé privée au format PPK. Pour finir, cliquez sur « Open ».

ipcopssh6

Connectez-vous avec le compte « Root », on vous demandera de saisir votre passphrase afin de pouvoir utiliser la clé.

ipcopssh7

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian BURNEL

Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.

Nombre de posts de cet auteur : 5572.Voir tous les posts

One thought on “SSH avec IPCOP : Authentification par clé

  • Professionnellement expliqué , je vous tire mon chapeau !

    Répondre

Répondre à Ab Diallo Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.