Publié
Si vous devez utiliser SSH sous Linux pour gérer à distance d'autres ordinateurs, ce guide vous guidera tout au long de cette procédure.
Dans le paysage interconnecté d’aujourd’hui, la capacité de gérer des ordinateurs depuis différents emplacements géographiques est passée du luxe à la nécessité. Il existe plusieurs façons de procéder, selon le système d'exploitation utilisé. Pour Systèmes basés sur Linux, le moyen le plus courant et le plus sécurisé de gérer votre PC à distance est d'utiliser SSH (ou Enveloppe de protection).
Voyons comment utiliser SSH sous Linux pour se connecter à d'autres ordinateurs.
Premiers pas essentiels
Avant de pouvoir vous connecter avec succès à un autre ordinateur Linux avec SSH, vous devez remplir les conditions préalables suivantes :
- L'ordinateur cible doit rester sous tension et connecté à un réseau.
- Les logiciels client et serveur nécessaires doivent être installés et activés.
- Vous aurez besoin de connaître l’adresse IP ou le nom d’hôte de la machine cible.
- Des autorisations appropriées pour l’accès à distance doivent être en place.
- Les configurations du pare-feu sur l'ordinateur distant doivent autoriser la connexion entrante.
Si vous accédez à un ordinateur Linux géré, par exemple, par votre société d'hébergement Web, elle devrait déjà s'occuper de tout cela. Ensuite, vous devrez peut-être effectuer une installation logicielle de base sur votre propre ordinateur Linux.
Utiliser SSH sous Linux: un guide pratique
L'établissement d'une connexion SSH fonctionnelle nécessite à la fois des modules logiciels client et serveur. OpenSSH sert de alternative open source principalement pour les plates-formes Linux.
Pour installer le client OpenSSH approprié, vous aurez besoin d'un accès au terminal sur votre ordinateur local. Notez que les systèmes Ubuntu ne disposent pas d'un serveur SSH préinstallé.
Installation d'un client OpenSSH
Avant de vous lancer dans le processus d'installation, vous devez vérifier que le client SSH n'est pas déjà là. Pour ce faire, il suffit ouvrir une fenêtre de terminal. Vous pouvez soit rechercher « terminal », soit appuyer sur ctrl + alt + t sur votre clavier.
Une fois dans la fenêtre de votre terminal, testez la présence du client SSH en tapant ce qui suit :
$ ssh
Si l'ordinateur Linux dispose d'un client SSH déjà installé, vous verrez les informations suivantes défiler sur l'écran.
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file] [-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address] [-S ctl_path] [-W host: port] [-w local_tun[:remote_tun]] destination [command [argument ...]]
Si, à la place, vous recevez une plainte concernant le fichier introuvable, vous devrez procéder à l'installation du client OpenSSH. Heureusement, c'est assez simple.
Sur Ubuntu et d'autres installations basées sur Debian, exécutez simplement la commande suivante dans Terminal :
$ sudo apt install openssh-client
Si vous utilisez Fedora ou une autre distribution qui utilise Miam au lieu de apte, exécutez simplement cette commande :
$ sudo yum -y install openssh-clients
Les systèmes Fedora plus récents peuvent utiliser dnf plutôt. Si cela vous ressemble, la commande magique est :
$ sudo dnf install -y openssh-clients
Suivez les instructions à l’écran et vous serez prêt à partir en un rien de temps.
Initier une connexion SSH
Une fois que vous vous êtes assuré que le client SSH est installé sur votre ordinateur Linux, il est temps de lancer cette première connexion. Pendant que vous êtes toujours dans la fenêtre du terminal, exécutez la commande suivante :
$ ssh username@host_ip_address
Si les noms d'utilisateur correspondent sur les machines locales et distantes, entrez simplement :
$ ssh host_ip_address
La première fois que vous vous connectez, vous serez accueilli par une invite vous demandant si vous souhaitez continuer à vous connecter à l'ordinateur inconnu. À ce stade, tapez Oui et continue.
Saisissez votre mot de passe, sachant que vous ne recevrez aucun retour à l’écran lors de la saisie. Une fois terminé, vous devez être connecté au serveur distant et pouvoir commencer à effectuer toute tâche que vous devez effectuer sur cet ordinateur en premier lieu.
Comprendre SSH: un aperçu de haut niveau
Secure Shell, ou SSH – parfois appelé Secure Socket Shell – est un protocole permettant une connectivité sécurisée à des serveurs ou des ordinateurs distants via une interface textuelle.
Lors de l'authentification d'un canal SSH sécurisé, une session shell s'initialise, permettant une interaction en ligne de commande depuis votre ordinateur local.
Ce protocole est bien connu et apprécié des administrateurs système et réseau, ainsi que de toute personne ayant besoin d'une gestion sécurisée des machines à distance.
Mécanique de la fonctionnalité SSH
L'établissement d'un canal SSH nécessite la collaboration de deux composants essentiels: une application côté client et son homologue côté serveur. L'application client initie la connexion en fournissant les informations d'identification de l'hôte distant.
Si vérifié, le logiciel crée un canal crypté entre les deux ordinateurs. Sur la machine distante, un démon SSH analyse en permanence un port TCP/IP désigné à la recherche de demandes de connexion potentielles.
Dès réception, le démon transmet ses capacités logicielles et protocolaires, et les deux entités échangent leurs données d'identification. Une session cryptée s'ensuit si les informations d'identification correspondent, principalement via le protocole SSH version 2.
Utilisation avancée de SSH: stockage de votre clé de cryptage pour éviter de saisir un mot de passe
Maintenant, disons que vous voulez éviter d'avoir à le faire tapez votre mot de passe chaque fois que vous vous connectez à un serveur distant. Pour une connexion sécurisée et sans mot de passe à un autre ordinateur, une clé SSH (Secure Shell) est indispensable.
Vous possédez peut-être déjà une telle clé, mais en générer une nouvelle n’est jamais une mauvaise idée. Originaire de votre ordinateur local, une clé SSH est divisée en deux éléments distincts: une clé privée confidentielle – à ne jamais divulguer – et sa contrepartie publique. Cette clé publique est ensuite diffusée sur tous les systèmes distants auxquels vous devez vous connecter.
Certaines personnes peuvent opter pour une clé SSH pour une multitude d'applications, allant des connexions système à distance à GitLab. Une clé pour les gouverner tous, pourrait-on dire. Cependant, mon approche est plus granulaire. J'utilise différentes clés, chacune conçue pour un sous-ensemble spécifique de tâches.
Par exemple, j'utilise une clé dédiée aux machines locales de mon réseau domestique, une autre clé exclusive clé pour les serveurs Web sous mon administration, et encore une autre clé unique pour interagir avec Git hôtes.
Création d'une nouvelle paire de clés SSH
Voici comment créer une nouvelle clé SSH, puis la copier sur le serveur distant pour lequel vous souhaitez l'utiliser. Tout d’abord, créez la clé en utilisant ssh-keygen.
$ ssh-keygen -t ed25519 -f /.ssh/lan
Le drapeau -t spécifie le type de clé à créer, garantissant que le cryptage est supérieur à la valeur par défaut. Le -F flag définit le nom et l’emplacement du fichier de la clé.
Lorsque vous exécutez cette commande, vous serez invité à créer un mot de passe pour la clé. Ce mot de passe, si vous le définissez, reste local et n'est pas envoyé sur le réseau.
Envoi de votre clé SSH au serveur distant
Ensuite, vous devrez envoyer cette clé de sécurité au serveur distant. Pour ce faire, lancez simplement cette commande :
$ ssh-copy-id -i /.ssh/lan.pub user@host_ip_address
Vous serez invité à saisir votre mot de passe de connexion sur l'hôte distant. Une fois le processus terminé, votre clé sera installée sur cet ordinateur.
Vous devriez tester en essayant de vous connecter à l'ordinateur distant. Lorsque vous vous connecterez à nouveau à l'hôte distant, il vous sera demandé la phrase secrète de la clé, si vous en avez défini une. Ce n’est pas votre mot de passe de connexion, rappelez-vous. Il s’agit de la phrase secrète spécifique à cette clé SSH.
Sur de nombreuses distributions, y compris Linux, cette invite de phrase secrète s'ouvrira sous forme de boîte de dialogue. Comme vous pouvez le voir dans l'exemple ci-dessous, vous pouvez cocher une case pour que l'ordinateur Linux mémorise la phrase secrète. Cela réduira cependant la sécurité de la clé.
Une fois que vous avez saisi la phrase secrète de votre clé SSH, vous ne devriez pas avoir à la saisir à nouveau jusqu'à ce que vous vous déconnectiez de l'ordinateur local.
Autres façons d'utiliser SSH
Une fois tout cela fait, vous êtes prêt à utiliser SSH pour accéder à distance à d’autres ordinateurs Linux ou Unix. Bien sûr, il ne s’agit pas uniquement d’accéder à l’invite de commande.
SSH inclut également un moyen sécurisé de transférer des fichiers entre ordinateurs sans utiliser FTP. Vous pouvez utiliser Secure Copy, ou scp, pour déplacer ces fichiers. Si vous êtes un utilisateur de Windows 11 et devez utiliser SSH, vous avez de la chance puisque le client est préinstallé. Tu peux même générer et utiliser Clés SSH dans Windows 11.