La connexion sécurisée à un serveur distant est essentielle pour assurer la confidentialité et l’intégrité des données échangées. La clé SSH (Secure Shell) est un moyen efficace de sécuriser cette connexion. Cet article vous guidera à travers les étapes pour créer, configurer et utiliser une clé SSH pour vous connecter à un serveur distant.
Création de la paire de clés SSH
- Installer le logiciel SSH : Pour générer une paire de clés SSH, vous devez d’abord installer le logiciel SSH sur votre ordinateur. Les systèmes Linux et macOS intègrent généralement OpenSSH, tandis que les utilisateurs de Windows peuvent installer PuTTY ou utiliser OpenSSH pour Windows.
- Générer la paire de clés : Ouvrez un terminal ou une invite de commandes et exécutez la commande suivante pour générer une paire de clés RSA :
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Remplacez « [email protected] » par votre adresse e-mail.
- Choisissez l’emplacement de sauvegarde : Par défaut, les clés seront enregistrées dans le dossier ~/.ssh (ou %USERPROFILE%.ssh sous Windows). Vous pouvez laisser cette option par défaut ou choisir un autre emplacement.
- Protégez votre clé privée : Il est recommandé de définir une phrase secrète (passphrase) pour protéger votre clé privée. Cette étape est facultative, mais fortement conseillée.
Copier la clé publique sur le serveur distant
- Copiez la clé publique : Pour vous connecter à un serveur distant, vous devez copier votre clé publique sur ce serveur. Utilisez la commande suivante pour copier la clé publique dans le fichier authorized_keys du serveur distant :
sqlCopy codessh-copy-id -i ~/.ssh/id_rsa.pub user@remote_host
Remplacez « user » par votre nom d’utilisateur sur le serveur distant et « remote_host » par l’adresse IP ou le nom d’hôte du serveur.
Exemple :
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
- Vérifiez la connexion : Testez la connexion en utilisant la commande SSH suivante :
ssh user@remote_host
Si tout s’est bien passé, vous devriez être connecté au serveur distant sans avoir à entrer de mot de passe.
Configuration de l’agent SSH
L’agent SSH est un outil qui facilite la gestion des clés SSH et automatise le processus d’authentification. Pour configurer l’agent SSH, suivez ces étapes :
- Démarrez l’agent SSH : Lancez l’agent SSH en exécutant la commande suivante dans votre terminal :
eval "$(ssh-agent -s)"
- Ajoutez votre clé privée : Ajoutez votre clé privée à l’agent SSH en utilisant la commande suivante :
ssh-add ~/.ssh/id_rsa
Remplacez « ~/.ssh/id_rsa » par le chemin d’accès à votre clé privée si vous
l’avez enregistrée à un autre emplacement.
Comment se connecter en SSH à votre Raspberry Pi
Se connecter à un serveur avec un fichier de configuration SSH
Pour faciliter la gestion des connexions à plusieurs serveurs, vous pouvez créer un fichier de configuration SSH. Suivez ces étapes pour créer et utiliser un fichier de configuration SSH :
- Créez le fichier de configuration : Créez un fichier nommé « config » dans le dossier ~/.ssh (ou %USERPROFILE%.ssh sous Windows) si ce fichier n’existe pas déjà.
- Ajoutez les informations de connexion : Ouvrez le fichier « config » avec un éditeur de texte et ajoutez les informations de connexion pour chaque serveur distant auquel vous souhaitez vous connecter. Utilisez le format suivant :
Host alias
HostName remote_host
User user
Port port
IdentityFile ~/.ssh/id_rsa
Remplacez « alias » par un nom facile à retenir pour la connexion, « remote_host » par l’adresse IP ou le nom d’hôte du serveur, « user » par votre nom d’utilisateur sur le serveur distant, « port » par le numéro de port SSH (généralement 22) et « ~/.ssh/id_rsa » par le chemin d’accès à votre clé privée.
Exemple :
javascriptCopy codeHost myserver
HostName 192.168.1.100
User john
Port 22
IdentityFile ~/.ssh/id_rsa
- Se connecter en utilisant l’alias : Pour vous connecter au serveur distant, utilisez la commande SSH suivante :
bashCopy codessh alias
Remplacez « alias » par le nom que vous avez choisi pour la connexion. Dans notre exemple, la commande serait :
ssh myserver
Conseils de sécurité supplémentaires
- Protégez vos clés : Assurez-vous que vos clés privées sont protégées par des phrases secrètes et ne les partagez jamais avec d’autres personnes.
- Limitez l’accès : Sur le serveur distant, configurez les autorisations du fichier ~/.ssh/authorized_keys pour empêcher les autres utilisateurs d’accéder à vos clés publiques.
- Utilisez des clés distinctes : Utilisez des paires de clés distinctes pour différents serveurs ou utilisateurs pour réduire les risques en cas de compromission d’une clé.
- Mettez à jour le logiciel SSH : Assurez-vous de toujours utiliser la dernière version du logiciel SSH pour bénéficier des correctifs de sécurité et des améliorations de performance.
Exécution d’un script Shell sur une Machine Distante Via SSH
Comment se connecter à un PC en SSH ?
Pour se connecter à un PC en SSH, suivez les étapes suivantes :
- Assurez-vous que le PC que vous souhaitez accéder en SSH est accessible via une connexion réseau et qu’il est configuré pour autoriser les connexions SSH entrantes.
- Ouvrez un terminal sur votre propre PC (Windows, Linux ou Mac) et saisissez la commande suivante :
ssh [nom_d'utilisateur]@[adresse_IP_ou_nom_de_domaine_du_PC]
Remplacez [nom_d’utilisateur] par le nom d’utilisateur que vous souhaitez utiliser pour la connexion SSH et [adresse_IP_ou_nom_de_domaine_du_PC] par l’adresse IP ou le nom de domaine du PC que vous souhaitez accéder. - Appuyez sur Entrée et attendez que le terminal affiche une invitation à entrer votre mot de passe.
- Saisissez le mot de passe correspondant à l’utilisateur que vous avez spécifié dans la commande SSH.
- Vous êtes maintenant connecté en SSH au PC distant et pouvez exécuter des commandes à distance dans le terminal de votre propre PC.
Notez que pour des raisons de sécurité, il est recommandé d’utiliser des clés SSH plutôt que des mots de passe pour l’authentification.
Comment se connecter en SSH sur Windows ?
Pour se connecter en SSH sur Windows, vous pouvez utiliser l’application « Windows PowerShell » qui est préinstallée sur la plupart des versions récentes de Windows.
Voici les étapes à suivre :
- Ouvrez l’application « Windows PowerShell ». Pour cela, vous pouvez appuyer sur la touche « Windows » de votre clavier, puis taper « PowerShell » et appuyer sur Entrée.
- Dans la fenêtre PowerShell, tapez la commande suivante pour vous connecter à un PC distant en SSH :
ssh [nom_d'utilisateur]@[adresse_IP_ou_nom_de_domaine_du_PC]
Remplacez [nom_d’utilisateur] par le nom d’utilisateur que vous souhaitez utiliser pour la connexion SSH et [adresse_IP_ou_nom_de_domaine_du_PC] par l’adresse IP ou le nom de domaine du PC distant que vous souhaitez accéder. - Appuyez sur Entrée et attendez que le terminal affiche une invitation à entrer votre mot de passe.
- Saisissez le mot de passe correspondant à l’utilisateur que vous avez spécifié dans la commande SSH.
- Vous êtes maintenant connecté en SSH au PC distant et pouvez exécuter des commandes à distance dans la fenêtre PowerShell.
Notez que si vous rencontrez des problèmes pour vous connecter en SSH avec PowerShell, vous pouvez essayer d’utiliser un client SSH tiers comme « PuTTY » ou « Git Bash ». Ces applications sont gratuites et peuvent être téléchargées en ligne.
Comment ouvrir une session SSH ?
Pour ouvrir une session SSH, vous devez vous connecter à un serveur SSH distant en utilisant un client SSH. Voici les étapes générales à suivre pour ouvrir une session SSH :
- Ouvrez un terminal ou une fenêtre de commande sur votre ordinateur.
- Entrez la commande suivante pour vous connecter au serveur SSH distant :
ssh [nom_d'utilisateur]@[adresse_IP_ou_nom_de_domaine_du_serveur]
Remplacez [nom_d’utilisateur] par votre nom d’utilisateur sur le serveur SSH distant et [adresse_IP_ou_nom_de_domaine_du_serveur] par l’adresse IP ou le nom de domaine du serveur SSH distant. - Appuyez sur Entrée. Si c’est la première fois que vous vous connectez au serveur SSH distant à partir de votre ordinateur, le client SSH vous demandera de confirmer l’authenticité de l’hôte distant en vérifiant la clé SSH. Si vous êtes sûr de la légitimité du serveur, tapez « yes » pour continuer.
- Entrez votre mot de passe lorsque vous y êtes invité. Le mot de passe sera masqué pour des raisons de sécurité.
- Vous êtes maintenant connecté au serveur SSH distant et pouvez exécuter des commandes dans le terminal ou la fenêtre de commande à distance.
Notez que pour des raisons de sécurité, il est recommandé d’utiliser des clés SSH plutôt que des mots de passe pour l’authentification.
Quels moyens d’authentification sont possibles pour accéder à un serveur SSH ?
Il existe plusieurs moyens d’authentification possibles pour accéder à un serveur SSH, en voici quelques-uns :
- Mot de passe : l’authentification par mot de passe est le moyen le plus courant et le plus simple d’accéder à un serveur SSH. Lorsque vous vous connectez au serveur SSH distant, il vous sera demandé d’entrer votre nom d’utilisateur et votre mot de passe.
- Clé publique/privée : l’authentification par clé publique/privée est une méthode plus sûre que l’authentification par mot de passe. Elle utilise une paire de clés, une clé publique et une clé privée. La clé publique est installée sur le serveur SSH distant, tandis que la clé privée est stockée sur l’ordinateur local. Lorsque vous vous connectez au serveur SSH distant, la clé privée est utilisée pour prouver votre identité. Les clés SSH sont souvent protégées par un mot de passe pour empêcher un accès non autorisé.
- Authentification à deux facteurs (2FA) : l’authentification à deux facteurs ajoute une couche de sécurité supplémentaire à l’authentification par mot de passe en exigeant une deuxième méthode d’authentification. Le plus souvent, cela implique d’utiliser une application mobile pour générer un code temporaire à usage unique qui doit être entré en plus du nom d’utilisateur et du mot de passe.
- Certificats d’authentification X.509 : l’authentification par certificat X.509 utilise des certificats pour prouver l’identité de l’utilisateur. Les certificats sont émis par une autorité de certification et sont installés sur le serveur SSH distant et sur l’ordinateur local. Lorsque vous vous connectez au serveur SSH distant, votre certificat est utilisé pour prouver votre identité.
Il est important de noter que certains serveurs SSH peuvent ne pas prendre en charge toutes ces méthodes d’authentification. Il est également recommandé d’utiliser des méthodes d’authentification plus sûres, telles que les clés SSH ou l’authentification à deux facteurs, plutôt que les mots de passe seuls pour éviter les attaques par force brute ou d’autres formes de piratage.
Conclusion
L’utilisation d’une clé SSH est une méthode sécurisée et pratique pour se connecter à un serveur distant. En suivant les étapes décrites dans cet article, vous serez en mesure de créer, configurer et utiliser une clé SSH pour vous connecter à un serveur distant en toute sécurité. N’oubliez pas de suivre les bonnes pratiques de sécurité pour protéger vos clés et vos données.
Je dois vous remercier pour les efforts que vous avez déployés pour rédiger ce site Web. J’espère voir le même contenu de haute qualité par vous dans l’avenir ainsi. En vérité, vos capacités d’écriture créative m’a inspiré pour obtenir mon propre blog maintenant.