Comment configurer et utiliser SSH sur Linux

Ssh Sur Ubuntu Fonctionnalité

Si vous utilisez Linux depuis un certain temps, vous avez sûrement entendu parler d’un outil connu sous le nom de SSH. Le Secure Shell, communément appelé SSH, est un protocole réseau conçu pour établir des connexions sécurisées entre un client et un serveur distant. Il est conçu pour permettre aux utilisateurs de se connecter en toute sécurité à différents types d’ordinateurs à distance via un réseau. Nous vous montrons ici comment configurer et copier facilement les clés SSH sur votre serveur.

À lire aussi : Comment afficher toutes les connexions SSH actives sur Linux

Installation de SSH

Pour commencer, nous devons installer le serveur SSH. Vous pouvez trouver et installer le paquet openssh-server dans le Centre de logiciels ou votre gestionnaire de paquets. Alternativement, si vous êtes sur un serveur (ou si vous préférez utiliser le terminal), ouvrez un terminal et tapez la commande suivante :

# Ubuntu/Debian  
sudo apt install openssh-server  
  
# Fedora/CentOS/REHL  
sudo dnf install openssh-server

Ssh Sur Ubuntu Installation

À lire aussi : Comment créer un honeypot SSH pour attraper les hackers sur votre serveur Linux

Activer SSH sur Linux

Une fois le serveur OpenSSH installé sur votre machine, vous devrez démarrer et activer l’unité systemd. Pour ce faire, vous pouvez simplement taper la commande suivante dans le terminal :

sudo systemctl enable --now ssh

Ssh Sur Ubuntu Activation

Bon à savoir : vous pouvez relier des programmes sous Linux en utilisant des tuyaux SSH.

Génération des clés SSH

Une fois que vous avez installé le serveur openssh, vous pouvez commencer à générer des paires de clés SSH. Avant de procéder, assurez-vous de ne pas avoir de paire de clés existante, car ce processus écrasera celle qui existe.

Pour vérifier si vous avez une paire de clés existante, utilisez la commande :

ls -la ~/.ssh

Si vous avez une paire de clés existante, la commande ci-dessus devrait afficher les fichiers “id_rsa” et “id_rsa.pub”.

Ls La Ssh

Une fois que vous vérifiez que vous n’avez pas de paire de clés SSH existante, vous pouvez procéder à la génération d’une nouvelle. Sinon, sauvegardez vos anciennes clés pour éviter de les perdre.

Pour générer une nouvelle clé, utilisez la commande :

ssh-keygen -t rsa -b 4096

La commande ci-dessus invoque l’utilitaire ssh-keygen pour générer de manière interactive une paire de clés SSH. En utilisant l’option -t, nous spécifions le type de clé à générer. Dans ce cas, nous générons une clé RSA.

Nous utilisons également l’option -b pour spécifier le nombre de bits dans la clé. Si vous utilisez une clé RSA, la taille minimale est de 1024 bits. Si elle n’est pas spécifiée, elle générera la clé avec 3072 bits.

Ssh Keygen Rsa

Il est bon d’utiliser l’emplacement par défaut pour stocker les clés SSH afin d’éviter de taper le chemin lors de la connexion à SSH en utilisant les clés.

Si vous ne souhaitez pas chiffrer votre clé avec une phrase de passe, appuyez sur Entrée pour passer.

Copier la clé sur le serveur distant

Maintenant que nous avons généré une nouvelle paire de clés SSH, nous devons la télécharger sur la machine distante que nous voulons gérer.

Le moyen le plus efficace de le faire est d’utiliser la commande ssh-copy-id. Utilisez la commande comme suit :

ssh-copy-id remote_user@remote_IP

Si vous utilisez un fichier de clé avec un nom de fichier distinct, vous pouvez utiliser la commande suivante pour spécifier le chemin vers le fichier de clé.

ssh-copy-id -i ~/.ssh/id_rsa remote_user@remote_IP

Si vous vous connectez à la machine distante pour la première fois, vous devrez accepter l’empreinte digitale.

Ensuite, entrez le mot de passe SSH pour l’utilisateur distant.

Une fois authentifié, la commande ssh-copy-id ajoutera le contenu de votre clé id_rsa.pub au fichier “~/.ssh/authorized_keys” sur la machine distante et fermera la connexion.

Ssh Copier Id

Se connecter à la machine distante

Une fois que vous avez complété avec succès toutes les étapes ci-dessus, vous pouvez maintenant vous connecter au serveur distant sans avoir besoin d’un mot de passe.

Vous pouvez tester cela en utilisant la commande :

ssh remote_user@remote_ip

À moins que vous n’ayez activé une phrase de passe pour votre clé, vous serez automatiquement connecté.

Questions Fréquemment Posées

1. SSH est-il sécurisé ?

SSH est un puissant outil de sécurité qui permet aux utilisateur authentifiés de se connecter à un système distant. Cependant, il n’est aussi sécurisé que le fichier de configuration ne le permet. Un serveur SSH non configuré ou mal configuré peut être vulnérable aux hackers et à l’accès de tiers. Assurez-vous de sécuriser la configuration SSH juste après l’avoir installée.

2. Où se trouvent les clés autorisées SSH ?

Le fichier authorized_keys SSH contient le fichier de clé publique de chaque utilisateur et spécifie quels utilisateurs sont autorisés à se connecter à un serveur. Sous Linux, le fichier authorized_keys se trouve généralement dans le dossier “.ssh” du répertoire personnel de l’utilisateur.

3. Comment puis-je résoudre le problème de permission refusée avec ssh-copy-id ?

Cela se produit uniquement lorsque vous avez déjà une clé publique configurée sur votre serveur distant et que vous avez désactivé l’authentification par mot de passe. Pour résoudre ce problème, connectez-vous d’abord à votre serveur, activez l’authentification par mot de passe dans le fichier “/etc/ssh/sshd_config”, puis exécutez à nouveau la commande ssh-copy-id.

Une fois que vous avez copié le nouveau fichier de clé, n’oubliez pas de désactiver à nouveau l’option d’authentification par mot de passe.