GNU/Linux >> Tutoriels Linux >  >> Linux

19 commandes SSH courantes sous Linux avec exemples

Présentation

SSH (Secure Shell) est un protocole réseau qui permet des connexions distantes sécurisées entre deux systèmes. Les administrateurs système utilisent les utilitaires SSH pour gérer les machines, copier ou déplacer des fichiers entre les systèmes. Étant donné que SSH transmet des données sur des canaux cryptés, la sécurité est à un niveau élevé.

Cet article vous guidera à travers les commandes SSH les plus populaires . La liste peut également servir d'aide-mémoire et vous sera utile la prochaine fois que vous devrez accomplir une tâche.

Prérequis

  • Un client SSH de votre choix
  • Un serveur SSH sur la machine distante
  • L'adresse IP ou le nom du serveur distant

Comment accéder à un serveur distant

Pour vous connecter à une machine distante, vous avez besoin de son adresse IP ou de son nom. Chargez le terminal ou n'importe quel client SSH et tapez ssh suivi de l'adresse IP :

ssh 192.168.56.101

ou nom :

ssh test.server.com

La première fois que vous vous connectez à un hôte, vous verrez ce message :

Tapez oui et appuyez sur entrée. Vous devrez peut-être également saisir votre mot de passe.

Spécifiez un nom d'utilisateur pour la connexion SSH

SSH utilise l'utilisateur actuel lors de l'accès à un serveur distant. Pour spécifier un utilisateur pour une connexion SSH, exécutez la commande au format suivant :

ssh [email protected]_or_ip

Par exemple :

ssh [email protected]

Remarque : Si vous rencontrez l'erreur "Connexion refusée", veuillez vous référer à notre guide SSH "Connexion refusée" pour des solutions.

Utiliser un numéro de port différent pour la connexion SSH

Par défaut, le serveur SSH écoute une connexion sur le port 22. Si le paramètre de port dans le fichier de configuration SSH a été modifié, vous devrez spécifier le port. Sinon, vous obtiendrez cette erreur :


Pour vous connecter à un hôte distant avec un numéro de port SSH personnalisé, utilisez le -p drapeau. Par exemple :

ssh test.server.com -p 3322

Générer des clés SSH à l'aide de SSH Keygen

Pour améliorer la sécurité des connexions SSH, générez une paire de clés avec l'utilitaire keygen. La paire est constituée d'une clé publique et d'une clé privée. La clé publique peut être partagée, tandis que la clé privée doit rester sécurisée.

Les paires de clés SSH sont utilisées pour authentifier automatiquement les clients auprès des serveurs. Lorsque vous créez une paire de clés SSH, il n'est plus nécessaire de saisir un mot de passe pour accéder à un serveur.

Sur le terminal de la machine hôte, utilisez cette commande pour créer une paire de clés :

ssh-keygen -t rsa

Pour utiliser les paramètres par défaut, appuyez sur Entrée dans les invites pour l'emplacement du fichier et la phrase secrète.

Copier la clé SSH publique

Pour utiliser la paire de clés pour l'authentification SSH, vous devez copier la clé publique sur un serveur. La clé est le fichier id_rsa.pub précédemment créé avec l'utilitaire SSH keygen.

Pour copier votre clé sur un serveur, exécutez cette commande depuis le client :

ssh-copy-id hostname_or_IP

Vous pouvez également spécifier un nom d'utilisateur si vous ne souhaitez pas utiliser l'utilisateur actuel.

Entrez le mot de passe pour vous authentifier lorsque vous y êtes invité. Après cela, vous n'aurez plus besoin d'utiliser le mot de passe pour vous connecter au même serveur.

Copier un fichier à distance via SSH avec SCP

Vous pouvez copier des fichiers en toute sécurité via le protocole SSH à l'aide du SCP outil. La syntaxe de base est :

scp fileName [email protected]:/home/username/destination

Par exemple, pour copier un fichier sample3 sur votre bureau sur un serveur distant avec un nom d'utilisateur test , saisissez :

scp sample3 [email protected]:/home/test/Desktop

La sortie affiche un résumé de l'opération.

Assurez-vous d'utiliser les majuscules -P indicateur si vous devez spécifier le port.

Modifier le fichier de configuration SSH

Vous pouvez contrôler la manière dont les utilisateurs distants peuvent accéder à un serveur via SSH. Modifiez les paramètres dans sshd_config fichier pour personnaliser les options du serveur SSH. Assurez-vous de ne modifier que les options qui vous sont familières. Un serveur peut devenir inaccessible à cause d'une mauvaise configuration.

Utilisez l'éditeur de votre choix pour modifier le fichier. Vous aurez besoin des autorisations de superutilisateur pour apporter des modifications. Sous Linux, nous utilisons vim :

Dans la ligne de commande sur un hôte distant, saisissez :

sudo vim /etc/ssh/sshd_config

Entrez le mot de passe sudo et le shell ouvre le fichier dans l'éditeur que vous avez utilisé.

Redémarrer le service SSH

Lorsque vous modifiez la configuration SSH, vous devez redémarrer le service sous Linux.

En fonction de la distribution Linux, exécutez l'une des commandes suivantes sur la machine sur laquelle vous avez modifié les paramètres :

sudo ssh service restart

ou :

sudo sshd service restart

Enfin, entrez le mot de passe pour terminer le processus. Par conséquent, la prochaine session SSH utilisera les nouveaux paramètres.

Commandes SSH de base

Travailler sur un serveur distant à l'aide de SSH nécessite de connaître les commandes SSH de base. Utilisez les commandes et les options de cet article pour gérer un hôte distant. Notez que vous pouvez combiner les drapeaux pour obtenir la sortie dont vous avez besoin.

Afficher le chemin du répertoire de travail

Utilisez le pwd commande pour afficher le chemin du système de fichiers.

La sortie affiche l'emplacement du répertoire dans lequel vous vous trouvez.

Répertorier les fichiers et les répertoires

Changer de répertoire

Pour lister le contenu d'un dossier de travail en cours, utilisez le ls commande.

Le shell affichera les noms de tous les répertoires, fichiers et liens. Pour obtenir plus d'informations, ajoutez l'un des indicateurs suivants :

  • -a affiche les fichiers Linux cachés et les entrées commençant par un point.
  • -l affiche les détails du fichier pour le contenu du répertoire. Par exemple, la sortie inclut les autorisations, la propriété, la date, etc.
  • -s répertorie la taille des fichiers, en blocs. Ajoutez -h pour afficher la taille sous une forme lisible par l'homme.

Pour naviguer vers un dossier spécifique, utilisez le cd commande et un nom ou chemin d'un répertoire.

cd Desktop/Downloads/Sample

N'oubliez pas que les noms sont sensibles à la casse. Utilisez cd sans nom ni chemin pour revenir au répertoire personnel de l'utilisateur.

cd utile les options incluent :

  • cd .. accédez au répertoire situé au niveau supérieur à votre emplacement actuel.
  • cd - passer au répertoire précédent.
  • cd / allez dans le répertoire racine.

Copier un fichier

Utilisez le cp commande pour copier un fichier ou un répertoire. Vous devrez inclure le nom du fichier et l'emplacement cible.

cp fileName /directory/path/destination

Pour copier fichier1 depuis Bureau vers Dir1 , saisissez :

cp file1 Dir1

Pour changer le nom de fichier1 lors de la copie vers une autre destination, utilisez ce format :

cp file1 Dir1/Newfile1Name

Cette commande copie file1 vers Dir1 avec un nom que vous spécifiez.

Pour copier un répertoire et son contenu, utilisez le drapeau -r dans ce format :

cp -r Directory1 NewLocation

Déplacer un fichier

Le mv La commande fonctionne de la même manière que la commande de copie.

Par exemple, pour déplacer un fichier vers un autre emplacement, saisissez :

mv fileName directory/path/destination

Créer un fichier

La commande touch vous permet de créer un nouveau fichier avec n'importe quelle extension.

Dans le terminal, saisissez la commande suivante :

touch fileName

Par exemple, pour créer un system.log fichier, saisissez :

touch system.log

Créer un répertoire

Pour créer un répertoire, utilisez le mkdir commande. Saisissez un nouveau nom de répertoire ou un chemin d'accès complet au format suivant :

mkdir NewDirectoryName

Ou :

mkdir directory/path/NewDirectoryName

Supprimer un fichier ou un répertoire

Pour supprimer un fichier Linux, utilisez rm dans ce format :

rm fileName

De plus, vous pouvez saisir un chemin complet :

rm /home/user/dir1/fileName

Pour supprimer un répertoire , ajoutez le -r drapeau à la commande rm.

Afficher les informations sur le réseau

Pour afficher l'état de tous les adaptateurs réseau, utilisez le ifconfig commande. De plus, lorsque vous n'utilisez aucune option avec ifconfig, la sortie affiche uniquement les interfaces actives.

Effacer l'écran du terminal

Pour effacer la zone de travail actuelle de votre écran bash, tapez clear dans la coquille. Cette commande efface une partie de l'écran et décale la sortie précédente.

Pour supprimer complètement la sortie du terminal, utilisez le reset commande.

Exécuter une commande sur un serveur distant à partir d'un ordinateur local

Cette méthode ne crée pas de nouveau shell. Au lieu de cela, il exécute une commande et renvoie l'utilisateur à l'invite locale. Vous pouvez créer un fichier, copier des fichiers ou exécuter toute autre commande SSH dans ce format.

Pour exécuter à distance une commande à partir de la machine locale, ajoutez une instruction à la commande SSH. Par exemple, pour supprimer un fichier, saisissez :

ssh test.server.com rm ~/Desktop/Dir1/sample4

Entrez le mot de passe et le fichier sur le serveur distant sera supprimé sans créer de nouveau shell.

Options de ligne de commande SSH

L'outil SSH est livré avec de nombreux éléments facultatifs paramètres. Le tableau ci-dessous répertorie les options SSH courantes et les descriptions correspondantes.

Option SSH Description
-1 Ordonne à ssh d'utiliser la version 1 du protocole
-2 Ordonne à ssh d'utiliser la version 2 du protocole.
-4 Autorise uniquement les adresses IPv4.
-6 Autorise uniquement les adresses IPv6.
-A Active le transfert de connexion de l'agent d'authentification. Utilisez cette option avec prudence.
-a Désactive le transfert de connexion de l'agent d'authentification.
-b bind_address Utilisez cette option sur l'hôte local avec plusieurs adresses pour définir l'adresse source de la connexion.
-C Active la compression des données pour tous les fichiers. À n'utiliser qu'avec des connexions lentes.
-c cipher_spec Utiliser pour sélectionner une spécification de chiffrement. Listez les valeurs séparées par une virgule.
-E log_fileName Joint les journaux de débogage à log_file au lieu de l'erreur standard.
-f Envoie ssh en arrière-plan, même avant de saisir un mot de passe ou une phrase secrète.
-g Permet aux hôtes distants de se connecter aux ports redirigés sur une machine locale.
-q Exécute ssh en mode silencieux. Il supprime la plupart des messages d'erreur ou d'avertissement.
-V Affiche la version de l'outil ssh et quitte.
-v Imprime les messages de débogage pour la connexion ssh. Le mode détaillé est utile pour résoudre les problèmes de configuration.
-X Utilisez cette option pour activer le transfert X11.
-x Désactiver le transfert X11.

Linux
  1. Envoyer des commandes à plusieurs sessions SSH avec Terminator

  2. Commandes tête et queue sous Linux expliquées avec des exemples

  3. 10+ commandes Linux VI avec des exemples

  4. Commande JQ sous Linux avec exemples

  5. Commandes Linux les plus simples avec 10 exemples

Commande Linux ip avec exemples

15 Commande Linux ps avec exemples

Commandes Nmap avec exemples

Commandes RPM sous Linux avec exemples

Commandes SSH sous Linux avec exemples d'utilisation

Comment gérer à distance un serveur Linux avec SSH