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.
La commande SSH la plus élémentaire est utilisée pour se connecter à un serveur distant :
ssh user@remote_host
Remplacez user
par votre nom d’utilisateur et remote_host
par l’adresse IP ou le nom de domaine du serveur.
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.
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.
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.
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/
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.
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.
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.
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.
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.