7 façons d'utiliser SSH pour turbocharger les connexions du serveur distant
SSH est un outil omniprésent pour se connecter aux serveurs distants, mais il y a beaucoup de choses que vous pouvez faire avec. Voici quelques techniques pour faciliter vos séances éloignées.
Sommaire
7
X
Une caractéristique cool sous-estimée de SSH est la possibilité de transmettre des applications graphiques sur X11. Vous pourriez penser que SSH n'est qu'un moyen d'utiliser la ligne de commande à distance, mais vous pouvez également exécuter des applications GUI à part entière, bien que plus lentement sur le réseau que si vous étiez assis à la machine. Cette fonctionnalité est connue sous le nom de «Forwarding X». C'est similaire à la façon dont le courrier pourrait être transmis à une autre adresse. La machine transmet des applications x de la machine principale à votre machine.
C'est quelque chose qui a fait partie de X11 depuis le début, bien que sur Telnet et XDMCP plutôt que SSH. SSH est plus sécurisé et vous devez éviter les autres protocoles si possible.
Pour utiliser le transfert X, vous devrez l'activer dans le fichier de configuration. Sur les systèmes Linux, il est généralement situé sur / etc / ssh / ssh_config. Vous pouvez le modifier avec un éditeur de texte en tant que superutilisateur, comme avec VIM:
sudo vim /etc/ssh/ssh_config
Recherchez la ligne qui dit « ForwardX11 ». Vous pouvez le rendre actif en supprimant le principal caractère « # » (hash), puis en modifiant le « non » en « oui ». Enregistrez le fichier. Vous devrez peut-être redémarrer le serveur ou le système.
Sur la plupart des systèmes Linux modernes avec Systemd, la commande pour le faire en utilisant SystemCTL sera:
sudo systemctl restart sshd.service
Si vous êtes sur un serveur distant géré par quelqu'un d'autre, vous devrez peut-être demander à l'administrateur système de le faire.
Une fois le transfert X configuré, vous pouvez vous connecter sur SSH avec les options -x ou -y:
ssh -X example.com
Une fois que vous vous connectez, vous verrez l'invite familière. Pour vérifier que X11 fonctionne, examinez d'abord la variable de l'environnement d'affichage $:
echo $DISPLAY
S'il est vide, il est probable que quelque chose ait échoué. Vérifiez tous les messages d'erreur et vérifiez le fichier de configuration.
Avec le fonctionnement de X11 fonctionnant, vous pouvez désormais lancer des applications GUI. Vous devrez les mettre en arrière-plan en ajoutant un caractère « & » (AmperSand). Par exemple, pour lancer des Xeyes:
xeyes &
Si vous oubliez et lancez simplement une application GUI à partir du terminal, vous constaterez qu'il est repris le terminal et ne vous laissera rien taper. Pour récupérer votre coquille, appuyez sur Ctrl + Z ANF, puis tapez « BG » à l'invite. Cela mettra l'application en arrière-plan.
6
Connexion en tant qu'utilisateurs différents
Lorsque vous essayez de vous connecter à un serveur distant via SSH, il suppose que vous utilisez le même nom d'utilisateur que sur votre système local. Plusieurs fois, ce n'est pas ce que vous voulez. Vous pouvez avoir un nom de compte différent de votre machine locale, ou vous pouvez vous connecter à l'aide d'un autre compte, par exemple pour tester un paramètre. C'est facile à faire avec le client SSH.
Vous pouvez spécifier l'utilisateur en le supprimant avec le symbole « @ » (at), similaire à une adresse e-mail:
ssh user@example.com
Alternativement, vous pouvez utiliser l'option -L
ssh -l user example.com
Bien sûr, vous avez besoin du bon compte et du bon mot de passe, ou configurez une clé, qui sera expliquée plus loin dans cet article.
5
Connexion via différents ports
Le serveur SSH écoutera par défaut sur le port 22, mais certains serveurs utiliseront d'autres ports pour diverses raisons. Si vous avez été invité à utiliser un autre port pour vous connecter à un serveur, utilisez l'option -p.
Par exemple, pour se connecter à un système sur le port 2222
ssh example.com -l 2222
Vous pouvez combiner cela avec un nom d'utilisateur différent et d'autres options:
ssh user@example.com -p 2222
Si cela ne fonctionne pas, assurez-vous d'avoir l'adresse et le numéro de port corrects. Vous devrez peut-être activer un port sur votre pare-feu local, comme le pare-feu Windows ou sur le serveur distant.
4
Exécuter les commandes à Connexion
Par défaut, lorsque vous vous connectez à un serveur distant, vous êtes présenté avec le shell pour taper des commandes, mais vous pouvez également exécuter des commandes directement à partir de votre shell local. Par exemple, pour exécuter LS sur le système distant:
ssh user@example.com ls
Cela exécutera la commande LS, affichera sa sortie dans votre terminal, puis sortira vers l'invite de commande locale. Ceci est pratique lorsque vous ne souhaitez exécuter que des commandes rapidement sur le système distant sans avoir à vous connecter et à sortir. Ceci est également pratique si vous avez un script shell ou un autre programme que vous souhaitez exécuter sur la machine distante.
3
Utilisation d'une autre configuration
Outre la définition des commandes dans votre fichier de configuration comme mentionné précédemment, vous pouvez les définir pour le SESSIO avec l'option -O. Ceci est pratique pour tester de nouvelles configurations avant de les engager dans le fichier de configuration.
Un moyen facile de le faire est d'utiliser un fichier de configuration différent.
Pour ce faire, utilisez l'option -f
ssh -F /path/to/my/config user@example.com
Vous pouvez également spécifier des options sur la ligne de commande avec l'option -o. Vous pouvez activer le transfert X de cette façon similaire aux options -x et -y affichées précédemment. Voir la page mande SSH_Config pour plus de détails sur les options disponibles. Ils sont les mêmes sur la ligne de commande que dans les fichiers de configuration.
ssh -o 'ForwardX11 yes' user@example.com
2
Mode verbeux
Si vous avez du mal à vous connecter, vous pouvez examiner comment SSH travaille avec le mode verbeux. Ou vous pouvez être curieux. Vous pouvez l'activer avec l'option -v.
ssh -v user@example.com
Bien que SSH soit en soi et n'inserte pas beaucoup d'informations sur la connexion pendant son exécution, le mode Verbose affiche beaucoup d'informations. La plupart d'entre eux intéresseront les développeurs et les administrateurs système plutôt que les utilisateurs réguliers. Ici, SSH vous dira exactement ce qu'il fait car il fait une connexion et vous connecte.
Si vous demandez de l'aide dans un forum ou une salle de chat, un développeur peut vous demander d'utiliser cette option et de copier et coller la session pour diagnostiquer tout problème avec le programme ou votre réseau.
1
Configurez une clé pour la connexion sans mot de passe
Vous pourriez penser que les utilisateurs de SSH aiment taper, mais souvent, ils ne le font pas. Une chose qui peut être ennuyeuse à taper constamment, ce sont les mots de passe. Heureusement, vous pouvez générer une clé que vous pouvez utiliser pour les connexions sans mot de passe.
Tout d'abord, exécutez le programme SSH-Keygen à partir de votre terminal local.
Il vous demandera quel type de clé cryptographique utiliser. La valeur par défaut est ED25519. C'est ce que vous devez accepter à moins que vous ne vous connectez à un serveur qui nécessite un type de clé spécifique.
Vous serez alors invité à taper une phrase de passe en option. C'est quelque chose qui peut être plus long et plus complexe qu'un mot de passe ordinaire. Si vous choisissez d'en utiliser un, assurez-vous que c'est quelque chose dont vous vous souvenez. Si vous l'oubliez, vous ne pourrez plus utiliser cette clé. Vous pouvez simplement appuyer sur Entrée pour laisser cette phrase secrète vide.
SSH-Keygen générera une paire de clés qui comprend une clé publique et une clé privée. La clé privée sera copiée sur le serveur distant. La clé privée résidera sur votre machine.
Ne donnez en aucun cas votre clé privée. Cela comprometra la paire de clés.
La clé publique sera répertoriée dans le répertoire .sh sur les systèmes Linux avec l'extension .pub. Il s'agit d'un fichier texte ordinaire. Vous pouvez l'ouvrir avec un éditeur de texte et copier le contenu à l'aide de la fonction Copy and Coller de votre système de fenêtre. Vous pouvez ensuite vous connecter au système distant sur lequel vous souhaitez l'utiliser et coller cette clé publique dans le fichier .Ssh / Authorized_keys. Le répertoire .sh ne doit pas être lisible par d'autres utilisateurs du système, car il s'agit d'un risque de sécurité, car les autres utilisateurs peuvent voir les clés privées que vous avez sur le système. SSH refusera d'exécuter s'il détecte des autorisations incorrectes. Il est préférable de laisser les autorisations par défaut lorsque SSH a été installé. Si vous en avez besoin, vous pouvez utiliser la commande CHMOD pour modifier les autorisations du répertoire.
Vous pouvez également utiliser le programme SSH-Copy-ID. Vous pouvez l'exécuter sur la ligne de commande.
ssh-copy-id user@example.com
Vous serez invité à votre mot de passe pour votre compte sur la machine distante. Avec une invite réussie, votre clé publique sera copiée automatiquement. Cela pourrait être moins sujet aux erreurs que le faire manuellement.
Vous pourriez être surpris de ce que vous pouvez faire avec SSH. Sa sécurité et sa flexibilité sont la raison pour laquelle il est un favori des professionnels du réseautage et de l'informatique qui ont besoin de gérer des serveurs distants.
