Comment installer SSH sur Linux et commandes utiles

Photo of author

By pierre



Débutant sur Linux ? Vous vous interrogez sur ce qu’est SSH et ses possibilités ? Cet article vous guidera à travers la configuration et l’utilisation de SSH sous Linux. Nous explorerons son fonctionnement et les différentes applications pratiques. Allons-y !

SSH est un outil fondamental sur la plateforme Linux. Cependant, il n’est pas inclus par défaut dans la plupart des distributions Linux courantes (à l’exception de Fedora et OpenSUSE). Configurer SSH est simple. Si votre objectif est de vous connecter à un ordinateur Linux distant via SSH, il est plus simple d’installer uniquement l’outil client de connexion. Il s’agit de SSH lui-même, sans les composants nécessaires pour héberger un serveur de connexion.

Il est néanmoins conseillé de configurer un serveur SSH sur chaque ordinateur Linux. Cela permet une communication bidirectionnelle, où n’importe quel ordinateur peut initier et recevoir des connexions. Voici comment procéder.

Installation des outils SSH

Ubuntu

sudo apt install openssh-server

Arch Linux

sudo pacman -S openssh

sudo systemctl enable sshd

sudo systemctl start sshd

Debian

sudo apt-get install openssh-server

Fedora / OpenSUSE

Bien que SSH soit préinstallé, le serveur peut être désactivé. Pour l’activer, ouvrez un terminal et saisissez :

sudo systemctl enable sshd

sudo systemctl start sshd

Autres distributions

D’autres distributions Linux non mentionnées ici pourraient déjà disposer des outils SSH nécessaires. Sinon, référez-vous au manuel officiel de votre version de Linux. Vous pouvez aussi rechercher dans les outils d’installation de programmes, des paquets nommés : openssh-server, ssh, sshd, etc.

Après l’installation, ouvrez le fichier de configuration SSH pour modifier quelques paramètres, notamment le port par défaut. Par défaut, SSH utilise le port 22, qui est bien connu. Par conséquent, les pirates informatiques pourraient cibler ce port. Il est donc judicieux de changer le port pour un numéro aléatoire non utilisé par d’autres services. Le numéro du port n’a pas d’importance en lui-même, tant qu’il n’est pas déjà utilisé.

Modifiez le fichier de configuration avec la commande: sudo nano /etc/ssh/ssh_config

Descendez dans le fichier et repérez la ligne # Port 22. Supprimez le symbole « # » et remplacez le numéro « 22 » par le port de votre choix. Appuyez sur Ctrl + O pour enregistrer et redémarrez le service SSH.

Ubuntu / Debian:

service ssh restart

Arch / OpenSUSE / Fedora:

sudo systemctl sshd restart

Note: Si vous n’envisagez pas de rendre votre port SSH accessible depuis internet, il n’est pas nécessaire de changer le port SSH. Sur un réseau local, tout devrait fonctionner sans changement.

Connectez-vous à votre serveur via SSH avec la commande: ssh -p numéro_de_port utilisateur@adresse_ip

Transfert de fichiers en ligne de commande

SSH est pratique pour l’accès à distance à d’autres ordinateurs, que ce soit via internet ou dans la même pièce. Lors de l’accès à distance, vous aurez peut-être besoin d’accéder à des fichiers, tels que des fichiers de configuration ou des documents importants. Envoyer des fichiers vers une machine distante uniquement via le terminal peut être fastidieux.

C’est pourquoi SSH inclut des fonctionnalités intégrées pour transférer des fichiers facilement dans les deux sens, directement par SSH.

La commande pour cela est: scp /chemin/vers/fichiers-ou-dossiers utilisateur@adresseip:/chemin/vers/destination

Remplacez /chemin/vers/ et les autres par les informations appropriées. Par exemple :

scp /home/derrik/fichier_important.txt derrik@serveur-ubuntu:/home/derrik-serveur/fichiers/

Un serveur FTP sécurisé partout

FTP est une vieille technologie, mais elle reste utile. FTP est encore beaucoup utilisé avec SSH, car cela permet d’accéder directement au disque dur d’un ordinateur Linux distant via un gestionnaire de fichiers, comme s’il était local. Il n’est pas nécessaire de configurer SFTP séparément, car tout ordinateur avec un serveur SSH actif peut également utiliser SFTP. Pour y accéder, ouvrez votre gestionnaire de fichiers et cherchez « Serveur », « Réseau », ou quelque chose de similaire. Notez que chaque gestionnaire de fichiers Linux est différent et qu’il n’est pas possible de tous les détailler ici.

sftp://nom_utilisateur@nom_hote:numero_port

Lorsque vous saisissez l’adresse FTP, vous serez invité à entrer un mot de passe, et à accepter la clé du serveur SSH.

Note: Vous devrez rediriger le port que vous utilisez pour SSH si vous souhaitez accéder au SFTP en dehors de votre réseau. Consultez le manuel de votre routeur pour savoir comment rediriger un port.

Sauvegardes à distance

SSH a de nombreuses applications, dont la sauvegarde à distance de disques et de partitions. Pour sauvegarder un disque dur depuis un PC local et envoyer l’image via SSH, utilisez cette commande :

Note: Dans cet exemple, le disque utilisé est /dev/sda. Adaptez la commande à votre situation.

Sauvegarde de partition

dd if=/dev/sda1 | gzip -1 - | ssh utilisateur_distant@hote_distant dd of=image.img.gz

Sauvegarde de disque entier

dd if=/dev/sda | gzip -1 - | ssh utilisateur_distant@hote_distant dd of=image.img.gz

Pour récupérer une image (ou des partitions) depuis un lecteur distant :

Sauvegarde de partition

ssh utilisateur_distant@hote_distant "dd if=/dev/sda1 | gzip -1 -" | dd of=image.img.gz

Sauvegarde de disque entier

ssh utilisateur_distant@hote_distant "dd if=/dev/sda | gzip -1 -" | dd of=image.img.gz

Extrayez l’image avec: gzip -d image.img.gz

Affichage local des programmes distants

Parfois, le terminal ne suffit pas. Heureusement, SSH permet de faire du transfert de fenêtre X. Cela signifie que vous pouvez utiliser le serveur graphique X11 pour afficher des fenêtres d’applications distantes sur votre machine locale. Par exemple, si vous devez tester un site web sur le PC Linux distant, vous pouvez démarrer Firefox à distance et afficher la fenêtre de Firefox sur votre PC local.

Activez le transfert de fenêtre X11 en modifiant le fichier de configuration SSH : sudo nano /etc/ssh/ssh_config

Cherchez la ligne # ForwardX11 no, supprimez « # » et remplacez « no » par « yes ».

Redémarrez le service SSH.

Ubuntu / Debian:

service ssh restart

Arch / OpenSUSE / Fedora:

sudo systemctl sshd restart

Lors de la connexion via SSH, utilisez l’option -X.

ssh -X -p numero_port utilisateur_distant@hote_distant

Conclusion

SSH est un outil puissant, mais peu d’utilisateurs Linux débutants le connaissent. C’est dommage car il existe de nombreuses utilisations. Dans cet article, nous n’avons fait qu’effleurer le sujet. Quand il s’agit d’utiliser un shell sécurisé, la seule limite est votre propre expertise.