Commandes SSH indispensables pour une gestion à distance efficace

Secure Shell (SSH) est un outil essentiel pour accéder et gérer en toute sécurité des serveurs distants. Que vous soyez administrateur système, développeur ou passionné de technologie, la maîtrise des commandes SSH peut améliorer considérablement votre flux de travail. Cet article présente les commandes SSH incontournables que chaque utilisateur doit connaître.

Qu'est-ce que SSH ?

SSH, ou Secure Shell, est un protocole qui permet aux utilisateurs de se connecter en toute sécurité à un ordinateur distant via un réseau non sécurisé. Il fournit une communication cryptée et diverses méthodes d'authentification, ce qui en fait un outil fondamental pour la gestion à distance.

Commandes SSH essentielles

1. Connexion à un serveur distant

La syntaxe de base pour se connecter à un serveur distant est:

nom d'utilisateur ssh@nom d'hôte

Remplacez username par votre compte utilisateur distant et hostname par l'adresse du serveur (IP ou domaine).

2. Spécification d'un port

Si votre serveur SSH écoute sur un port autre que le port par défaut 22, vous pouvez le spécifier à l'aide de l'option -p:

ssh -p numéro_de_port nom_utilisateur@nom_hôte

3. Copie de fichiers avec SCP

Le protocole SCP (Secure Copy Protocol) est utilisé pour transférer des fichiers entre des hôtes locaux et distants de manière sécurisée. La syntaxe de base pour copier un fichier d'une machine locale vers un serveur distant est la suivante:

scp local_file nom_utilisateur@nom_hôte:/remote/directory/

Pour copier un fichier d’un serveur distant vers votre machine locale:

nom_utilisateur_scp@nom_hôte:/remote/fichier_répertoire_local/

4. Exécution de commandes à distance

Vous pouvez exécuter des commandes sur un serveur distant sans vous connecter de manière interactive:

nom d'utilisateur ssh@nom d'hôte 'command'

Par exemple, pour vérifier l’utilisation du disque sur un serveur distant:

nom d'utilisateur ssh@nom d'hôte 'df -h'

5. Utilisation des clés SSH pour l'authentification

Les clés SSH offrent un moyen plus sûr de se connecter à un serveur distant que l'utilisation de mots de passe. Générez une paire de clés avec:

générateur de clés ssh

Ensuite, copiez votre clé publique sur le serveur distant:

ssh-copy-id nom d'utilisateur@nom d'hôte

6. Tunneling avec SSH

Le tunneling SSH vous permet de créer une connexion sécurisée entre votre machine locale et un serveur distant, qui peut être utilisée pour accéder aux services du réseau distant. Par exemple, pour transférer un port local vers un port distant:

ssh -L port_local:hôte_distant:port_distant nom_utilisateur@nom_hôte

Cette commande transfère local_port sur votre machine vers remote_port sur remote_host via la connexion SSH.

7. Fichier de configuration SSH

Le fichier de configuration SSH vous permet d'enregistrer les options de connexion SSH fréquemment utilisées. Il se trouve généralement dans ~/.ssh/config. Un exemple d'entrée de configuration pourrait ressembler à ceci:

Host alias
    HostName hostname
    User username
    Port port_number
    IdentityFile ~/.ssh/id_rsa

Après la configuration, vous pouvez vous connecter en utilisant l'alias:

alias ssh

8. Contexte des sessions SSH

Vous pouvez exécuter des sessions SSH en arrière-plan à l'aide de l'option -f, qui est utile pour exécuter des processus en arrière-plan:

ssh -f nom d'utilisateur@nom d'hôte 'command'

Pour exécuter une commande en arrière-plan:

ssh -f nom d'utilisateur@nom d'hôte 'command &'

9. Vérification de la version SSH

Pour vérifier la version SSH installée sur votre système:

ssh-V

10. Fermeture d'une session SSH

Pour vous déconnecter d'une session SSH, tapez simplement:

sortie

Conclusion

Connaître ces commandes SSH essentielles peut grandement améliorer votre capacité à gérer des serveurs distants de manière efficace et sécurisée. Que vous transfériez des fichiers, exécutiez des commandes ou configuriez des tunnels sécurisés, SSH est un outil puissant que tout professionnel de la technologie devrait maîtriser.