X
Julie Côté

Les commandes Secure Shell (SSH) indispensables

Non, ce n’est pas un coquillage. On parle plutôt d’un terminal. Étant à la fois un programme informatique et un protocole de communication sécurisé, le Secure Shell (SSH) a été conçu avec l’objectif de remplacer les différents protocoles non chiffrés comme rlogin, telnet, rcp et rsh. Il s’agit de la méthode de gestion la plus courante pour les serveurs Linux.

Les différentes commandes SSH peuvent servir à différentes opérations web. On parle entre autres de l’établissement d’une connexion sécurisée au serveur et du transfert sécurisé de fichiers, de l’édition de fichiers directement sur le serveur web, de la sauvegarde de données, de la mise en place de droits de fichiers et finalement, du transfert du contenu d’un hébergeur vers un autre. Les différentes commandes sont assez multiples, mais une dizaine sont les plus souvent utilisées pour différents usages. Mais avant de pouvoir naviguer dans les différentes commandes, voyez rapidement comment configurer votre connexion SSH pour PlanetHoster, avec les forfaits The World et HybridCloud, tel que mentionné dans la base de connaissances.

Si votre ordinateur est sous l’environnement Windows, il va falloir télécharger le logiciel PuTTY pour créer la connexion, étant donné que Microsoft ne possède pas cette fonctionnalité à la base, il faut passer par un tiers parti qui la possède. Une fois téléchargée, en ouvrant l’application, une fenêtre vous demandera quelques informations : le nom de l’hôte, le numéro du port qui est 5022 pour les plans World et 2908 pour les serveurs HybridCloud et un nom à la session dans le champ « Saved Sessions ». Puis, cliquez sur le bouton « Open ». Finalement, vous n’aurez qu’à inscrire votre nom d’utilisateur après la mention login as étant donné qu’il cherche le terminal distant et après avoir appuyé sur la touche « Enter », votre mot de passe cPanel.

Pour les utilisateurs de Mac, c’est vraiment plus facile ! Vous n’avez qu’à lancer votre terminal via le chemin Applications > Utilitaires > Terminal et d’entrez l’une des deux lignes suivantes, tout dépendamment de votre forfait.

ssh username@hostname -p PORT

Puis vous n’avez qu’à appuyez sur la touche Entrée et le tour est joué. Maintenant que votre connexion SSH a été réalisée, voici quelques commandes importantes classées par usage.

Les commandes pour transférer vos fichiers

Contrairement aux autres commandes, plus de bases, celles-ci ont une syntaxe un peu plus complexe étant donné la nature de l’opération, elle aussi plus compliquée.

Scp

Scp possède un caractère plutôt particulier, puisqu’il désigne à la fois un protocole de communication SSH (une commande) et le programme par lequel on exécute sa principale fonction, le transfert de fichiers via une connexion SSH. Voici comment procéder, tout d’abord pour un transfert de serveur à serveur, depuis votre ordinateur local. Pour cette opération, il vous faudra avoir accès aux deux serveurs, depuis votre machine locale, étant donné que vous lancerez une commande qui copiera les fichiers d’un serveur à un autre.

scp — r — p user@serveur1 : chemin/vers/dossier/source user@serveur2 : chemin/vers/dossier/destination

Pour un transfert de serveur à serveur, la commande reste sensiblement la même, étant donné que vous restez connectés à un ordinateur central.

scp — r — p chemin/vers/dossier/source user@serveur2 : chemin/vers/dossier/destination

Rsync

Rsync possède la même particularité que SCP, c’est-à-dire que c’est à la fois un logiciel et une commande. Il permet, comme son nom l’indique, une synchronisation unidirectionnelle, soit de copier les fichiers de la source en direction de la destination, donc on peut constater assez rapidement que le transfert de fichiers est également possible avec cette commande. Voici comment.

Local to Remote: rsync [OPTION]… — e ssh [SRC]… [USER@] HOST: DEST

Remote to Local: rsync [OPTION]… — e ssh [USER@] HOST : SRC… [DEST]

Wget

La commande wget permet de retrouver, de télécharger et de transférer des fichiers de différents serveurs web. C’est un outil assez polyvalent. Voici la procédure à suivre pour transférer des fichiers avec wget, avec le protocole FTP.

wget –ftp-user=whuser –ftp-password=tDBmcWzB1 –mirror ftp://ftp.myserver.net/www

Les commandes pour parcourir, naviguer et catégoriser

Cd

La commande cd représente une des options évidentes pour transférer des fichiers vers un répertoire spécifié. La navigation d’un répertoire à un autre s’effectue avec cette commande suivie du nom du répertoire. Elle possède plusieurs dérivés, en voici quelques-uns.

cd/ : Permet de se retrouver à la racine du disque.

cd ou cd : Permet d’accéder directement au répertoire de l’utilisateur.

cd/ var/www/: Dirige vers le répertoire/var/www

cd… : Remonte dans le répertoire antérieur auquel vous êtes.

cd — : Retourne au répertoire précédent.

pwd : Renvoie au chemin absolu du répertoire courant ce qui est utile puisqu’en général le Shell (le terminal) n’affiche que le nom du répertoire courant.

Ls

La commande Ls affiche le contenu d’un répertoire, si aucun autre préfixe n’est présent par après, elle affiche le contenu du répertoire courant. Elle n’affiche pas, par défaut, les fichiers cachés (débutant par un point). Voici ses différents dérivés.

ls — l : Affiche les informations de manière détaillée.

ls — a : Affiche les fichiers cachés.

ls — h : Affiche la taille des fichiers de façon lisible.

ls — r : Trie les fichiers en sens inverse

ls — t : Trie les fichiers par date du plus récent au plus ancien.

ls — S : Trie par taille décroissante.

ls — la : Affiche tous les fichiers y compris les fichiers cachés.

ls — lhS : Affiche les informations des fichiers, avec des tailles lisibles, le tout ordonné du plus grand au plus petit.

Les commandes pour copier, déplacer et supprimer

Cp

C’est clairement l’équivalent du CTRL+C dans SSH. Elle est utilisée pour copier des fichiers.

cp/home/chemin/fichier.ext /home/nouveauchemin/nouveaufichier.ext: fait une copie du fichier fichier.ext du répertoire /home/chemin/ dans le répertoire /home/nouveauchemin/ ayant le nom nouveaufichier.ext

cp—R/home/chemin/*/home/nouveauchemin/ : Copie l’ensemble des fichiers et répertoires dans l’arborescence/home/chemin/ et l’insère les copies dans le répertoire /home/nouveauchemin/

Mv

Cette commande, utilisée de la même manière que cp, est utilisée pour déplacer ou renommer un fichier. Elle possède les mêmes extensions que cp d’ailleurs.

Rm

La commande suivante permet de déplacer ou de renommer un fichier.

rm fichier.ext: Supprime le fichier fichier.ext, demande une confirmation avant de le faire.

rm—f fichier.ext : Supprime le fichier fichier.ext sans demander de confirmation.

rm — rf/home/chemin/ : Supprime le répertoire chemin et tous les fichiers, dossiers et sous dossiers qui s’y trouvent — sans confirmation (soyez prudent avec cette commande).

Les commandes pour rechercher trouver, consulter et éditer

Vi

La commande vi est un peu spéciale. C’est un éditeur de texte en mode texte plein écran écrit par Bill Joy en 1976 et présent sur une des premières versions de la distribution Unix BSD. Les dérivés de cette commande sont des modifications faites avec l’aide de cet éditeur.

vi fichier.ext : Ouvre le fichier fichier.ext dans l’éditeur de texte vi.

Cat

Cette commande est utilisée pour imprimer le contenu d’un fichier.

cat fichier.ext: Imprime à l’écran le contenu du fichier fichier.ext

cat fichier.txt |more : |more étend le contenu du fichier sur plusieurs pages (appuyez sur la barre d’espacement pour passer d’une page à l’autre, « q’ pour quitter).

Tail

La commande possède le même principe que cat mais imprime uniquement les dernières lignes d’un fichier. Elle est utilisée fréquemment pour consulter les derniers évènements dans un fichier log par exemple.

tail—f/chemin/fichier.txt : Consulte le fichier fichier.txt en temps réel (et ainsi voir les mises à jour, s’il y a lieu).

tail—100/chemin/fichier.txt : Imprime à l’écran les 100 dernières lignes de fichier.txt

Grep

Cette commande permet de rechercher un chaîne de caractères spécifique dans les fichiers, un peu comme la fonction rechercher/remplacer dans Office.

grep chaine fichier.ext : Imprime à l’écran tous les cas où le mot « chaine » a été trouvée dans le fichier fichier.ext.

grep — r chaine *  : Imprime à l’écran tous les cas où le mot « chaine » a été trouvé dans le répertoire présent et tous ses sous-répertoires.

Find

Contrairement à grep, au lieu de rechercher un contenu spécifique d’un fichier, find recherche les fichiers en tant que tels.

find/chemin/a/chercher/—name PlanetHoster: Recherche dans le répertoire/chemin/a/chercher/un fichier nommé PlanetHoster.

find/—name PlanetHoster: Recherche à l’échelle du serveur, un fichier nommé « PlanetHoster ».

find/chemin/a/chercher — name “*recherche*”: Initie une recherche dans le répertoire/chemin/a/chercher et retourne tous les cas où un fichier possède le mot « recherche » à l’intérieur de son nom.

Les commandes qui concernent la surveillance de la sécurité des processus et du réseau

Last

La commande indique à l’écran les quelques dernières connexions au serveur et le moment qu’elles ont été effectuées.

last -20 : Indique uniquement les 20 dernières connexions.

last -20 -a: Indique uniquement les 20 dernières connexions ainsi que le nom du serveur d’où l’individu s’est connecté.

last -20 — ai : Possède des similitudes à la commande précédente sauf que cette variante indique l’adresse IP au lieu du nom du serveur.

Netstat

Cette commande imprime à l’écran toutes les connexions réseau actives.

netstat — an: Imprime à l’écran les connexions actives sur le serveur, l’adresse IP source et destination ainsi que le numéro du port.

netstat — rn : Indique les tables de routage pour toutes les adresses IP assignées au serveur.

Top

Cette commande dresse une table de tous les processus actifs ainsi que leur utilisation de ressources, en temps réel.

Shift + M fait le tri par utilisation de mémoire.

Shift + P pour faire le tri par utilisation de processeur. (Appuyez ctrl + c pour quitter.)

Kill

 Cette commande est utilisée pour forcer la fermeture d’un processus.

kill—9 PID : Où PID est l’identification du processus que vous désirez fermer.

 

Et vous, quelles commandes utilisez-vous régulièrement ?


Voir les commentaires

  • Bonjour Julie et merci, grâce à vous j'ai encore découvert des nouvelles fonctionnalités bien utiles.

  • Pour scp, il manque le port, par exemple chez Planet:
    scp -r -p -P 5022 chemin/vers/dossier/source user@serveur2:chemin/vers/dossier/destination