FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Gérez efficacement les connexions SSH à distance avec ces commandes Linux

Si vous exécutez un ou plusieurs serveurs distants, vous passez généralement du temps à vous connecter en permanence tout au long de la journée.

Mais il n'a pas à être de cette façon. Il est temps que vous appreniez à vous connecter efficacement via SSH avec un seul alias, à transférer des fichiers ou des répertoires uniques, à exécuter des commandes SSH à distance et à monter sans effort des serveurs distants sur des répertoires locaux.

Fichier de configuration SSH

Un énorme gain de temps est le fichier de configuration SSH situé dans ~/.ssh/config . Commencez par créer un répertoire pour stocker toutes les clés SSH que vous utilisez pour vous connecter aux serveurs avec la commande :

mkdir -m 0600 $HOME/.ssh_keys 

Copiez maintenant tous vos fichiers de clés SSH dans ce répertoire (par exemple, clienta.pem, clientb.pem, etc.). Ensuite, ouvrez le ~/.ssh/config fichier dans un éditeur de texte en exécutant la commande :

nano ~/.ssh/config 

Vous trouverez ci-dessous un exemple d'entrée qui établira une connexion SSH avec un serveur distant :

hôte clienta 
 nom d'hôte 124.58.2276.80 
 utilisateur ubuntu 
 IdentityFile ~/.ssh_keys/clienta.pem 

Ajoutez des sections de lignes comme ci-dessus au ~/.ssh/config fichier, un pour chaque serveur que vous désirez. Puis enregistrez et fermez le fichier en appuyant sur Ctrl+X et suivez l'invite. Une fois enregistré, vous pouvez maintenant vous connecter à n'importe quel serveur via SSH à partir de n'importe quel répertoire du terminal avec la simple commande :

client ssh 

Cela vous connectera instantanément au serveur avec les informations sous la clienta l'hôte que vous avez spécifié dans ~/.ssh/config fichier.

Transférer des fichiers avec Scp / Rcp

Sans créer de session de connexion persistante, vous pouvez facilement télécharger des fichiers ou des répertoires uniques sur un serveur distant avec le scp commande, telle que :

scp report.pdf clienta :~/ 

La commande ci-dessus téléchargera le fichier report.pdf de votre ordinateur local vers le répertoire d'accueil de la clienta serveur que vous avez défini dans la section ci-dessus. Vous pouvez télécharger vers un répertoire autre que le répertoire personnel tel que :

scp about.html clienta:/home/clienta/public_html 

Ce qui précède téléchargera le fichier about.html dans /home/client/public_html répertoire sur le clienta distant serveur. Il est également possible de télécharger des répertoires entiers en utilisant le -r options telles que :

scp -r Documents clienta :~/docs 

Cela téléchargera l'intégralité de ~/Documents répertoire de votre ordinateur local vers ~/docs répertoire du serveur distant.

Téléchargement de fichiers

De même, vous pouvez télécharger des fichiers ou des répertoires sur votre ordinateur local sans créer de session de connexion persistante à l'aide du rcp commande telle que :

client rcp :~/public_html/about.html monprojet/about.html 

Ce qui précède téléchargera le public_html/about.html fichier depuis le clienta distant serveur et placez-le dans projects/about.html fichier sur votre ordinateur local.

Exécuter des commandes SSH à distance

Une autre astuce rapide est que vous pouvez exécuter des commandes Linux uniques sur un serveur distant sans session de connexion persistante, telles que :

clients ssh 

Ce qui précède exécutera le ls commande sur le serveur distant clienta>, et lister tous les fichiers/répertoires sans vous garder connecté au serveur. Par exemple, si vous vouliez redémarrer un serveur, vous pourriez utiliser :

client ssh /sbin/shutdown -rf maintenant 

Répertoire local /bin

Développons cela en permettant un montage facile sur des serveurs distants en créant un répertoire /bin/ local pour notre compte d'utilisateur. Ouvrez le terminal sur votre ordinateur et créez un répertoire /bin/ en exécutant la commande :

mkdir -m 0755 ~/bin 

Ensuite, ouvrez le ~/.profile fichier dans un éditeur de texte avec la commande :

nano $HOME/.profile 

Faites défiler jusqu'en bas du fichier et ajoutez les lignes suivantes en les copiant dans votre presse-papiers, puis dans le terminal en appuyant sur Ctrl+Maj+V :

if [ -d "$HOME/bin" ]; alors 
 PATH="$HOME/bin:$PATH" 
fi 

Enregistrez et fermez le fichier en appuyant sur Ctrl+X , et suivez l'invite. Cela enregistrera le .profile fichier, qui vérifiera le répertoire local /bin/ nouvellement créé pour toutes les commandes que vous essayez d'exécuter.

Ajout de commandes de montage à distance

Tout d'abord, vérifiez et voyez si oui ou non sshfs est installé sur votre ordinateur avec la commande :

sshfs --version 

Si cela imprime la version actuelle de sshfs , alors vous êtes prêt. Sinon, si vous recevez une erreur "commande introuvable", vous pouvez installer sshfs avec la commande suivante :

sudo apt-get -y install sshfs 

Créez maintenant un répertoire /mnt/ qui contiendra tous les répertoires montés sur nos serveurs distants. Dans le terminal, exécutez les commandes telles que :

mkdir -m 0755 ~/mnt 
mkdir -m 0755 ~/mnt/clienta 
mkdir -m 0755 ~/mnt/clientb 

Continuez à créer un sous-répertoire pour chaque serveur distant sur lequel vous pouvez potentiellement monter. Ensuite, créons les commandes shell que nous allons exécuter, et par exemple, pour le clienta serveur ouvrez un fichier en exécutant la commande suivante dans le terminal :

nano ~/bin/mount_clienta 

Modifiez la ligne ci-dessous si nécessaire avec les informations de serveur appropriées, puis copiez-la et collez-la dans l'éditeur de texte vide du terminal en appuyant sur Ctrl+Maj+V :

#!/bin/bash 
sshfs -o IdentityFile=~/.ssh_keys/clienta.pem [email protected]:/var/www ~/mnt/clienta 

Enregistrez et fermez le fichier en appuyant sur Ctrl+X , et suivez les invites pour fermer le fichier. Enfin, modifiez les autorisations du fichier afin qu'il soit exécutable en exécutant la commande :

chmod 0755 ~/bin/mount_clienta 

Maintenant, chaque fois que vous avez besoin de monter sur clienta serveur distant pour transférer des fichiers vers / depuis celui-ci, depuis n'importe quel répertoire du terminal, vous pouvez simplement exécuter la commande :

mount_clienta 

Le répertoire sur votre ordinateur local à ~/mnt/clienta sera maintenant monté sur /var/www répertoire du serveur distant. Vous pouvez commencer à copier des fichiers vers et depuis le répertoire comme vous le feriez avec n'importe quel répertoire local, et les opérations nécessaires se produiront sur le serveur distant.

Gestion des connexions plus efficace

Espérons que les conseils ci-dessus ont contribué à rationaliser et à rendre plus efficace la gestion de vos connexions aux serveurs distants. Dans cet article, vous avez tout appris sur le ~/.ssh/config vous permettant de vous connecter via SSH avec seulement un alias, de transférer des fichiers/répertoires uniques, d'exécuter des commandes SSH distantes et de monter facilement un répertoire local sur des serveurs distants.


[]