10 commandes SSH courantes et utiles
Secure Shell (SSH) est un outil essentiel pour les administrateurs système, les développeurs et toute personne gérant des serveurs distants. Grâce à SSH, vous pouvez vous connecter en toute sécurité à une machine distante, exécuter des commandes, transférer des fichiers et effectuer des tâches administratives. Dans cet article, nous allons explorer 10 commandes SSH courantes que vous devriez utiliser dès aujourd’hui.
1. Connexion à un serveur distant
La commande SSH la plus élémentaire est utilisée pour se connecter à un serveur distant :
ssh user@remote_host
Remplacez
userpar votre nom d’utilisateur et
remote_hostpar l’adresse IP ou le nom de domaine du serveur.
2. Se connecter avec un port spécifique
Par défaut, SSH utilise le port 22, mais vous pouvez spécifier un port différent si nécessaire :
ssh -p 2222 user@remote_host
Ceci est utile si le serveur SSH est configuré pour fonctionner sur un port non standard.
3. Utilisation de clés SSH pour l’authentification
Au lieu d’utiliser un mot de passe, vous pouvez vous authentifier à l’aide d’une clé SSH :
ssh -i /path/to/private_key user@remote_host
La génération d’une clé SSH peut se faire avec :
ssh-keygen -t rsa -b 4096
Cela améliore la sécurité et élimine la nécessité d’entrer un mot de passe à chaque fois.
4. Exécution de commandes sur un serveur distant
Vous pouvez exécuter une seule commande sur un serveur distant sans ouvrir de session interactive :
ssh user@remote_host "ls -l /var/www/html"
Ceci est utile pour des tâches administratives rapides.
5. Copier des fichiers avec SCP
Le protocole de copie sécurisée (SCP) vous permet de transférer des fichiers entre des machines locales et distantes :
scp file.txt user@remote_host:/remote/directory/
Pour copier un répertoire de manière récursive :
scp -r /local/répertoire user@remote_host:/remote/répertoire/
6. Copier des fichiers avec rsync
Une alternative à SCP est
rsync, qui est plus efficace pour synchroniser les fichiers :
rsync -avz /local/répertoire user@remote_host:/remote/répertoire
Il minimise le transfert de données en n’envoyant que les différences entre les fichiers.
7. Configuration du tunnel SSH
Le tunnel SSH vous permet d’acheminer le trafic réseau en toute sécurité. Pour créer un tunnel local :
ssh -L 8080:localhost:80 user@remote_host
Cette opération transfère le trafic de votre port local 8080 vers le port 80 du serveur distant.
8. Tunnel SSH inversé
Le tunneling inverse permet à un serveur distant d’accéder à votre machine locale :
ssh -R 9090:localhost:22 user@remote_host
Cette méthode est utile pour accéder à un système situé derrière un pare-feu.
9. Multiplexage des connexions SSH
Si vous vous connectez fréquemment au même serveur, vous pouvez accélérer SSH en activant le multiplexage :
ssh -o ControlMaster=yes -o ControlPath=~/.ssh/socket user@remote_host
Cela permet de réduire la charge d’authentification pour plusieurs sessions SSH.
10. Terminer une session SSH
Pour fermer une session SSH, il suffit de taper :
exit
Ou utilisez la séquence d’échappement :
~.
Ceci est utile lorsque la connexion ne répond plus.


