SSH offre plus qu’un simple environnement de terminal distant et sécurisé. Vous pouvez utiliser SSH pour tunneliser votre trafic, transférer des fichiers, monter des systèmes de fichiers distants, etc. Ces conseils et astuces vous aideront à tirer parti de votre serveur SSH.
SSH ne s’authentifie pas seulement via une connexion cryptée – tout votre trafic SSH est crypté. Que vous transfériez un fichier, naviguiez sur le Web ou exécutiez une commande, vos actions sont privées.
Tunnel SSH
Le tunnel SSH permet à un serveur SSH distant de fonctionner comme un serveur proxy. Le trafic réseau de votre système local peut être envoyé via la connexion sécurisée au serveur SSH. Par exemple, vous pouvez diriger votre trafic de navigation Web via un tunnel SSH pour le chiffrer. Cela empêcherait les utilisateurs des réseaux Wi-Fi publics de voir ce que vous parcourez ou contournerait le site Web et les filtres de contenu sur un réseau local.
Bien entendu, le trafic n’est pas chiffré lorsqu’il quitte le serveur SSH et accède à Internet. À un serveur Web auquel vous accédez via le tunnel, votre connexion semblera provenir de l’ordinateur exécutant votre serveur SSH, et non du système local.
Sous Linux, utilisez la commande suivante pour créer un proxy SOCKS sur le port 9999 sur votre système local:
ssh -D 9999 -C utilisateur @ hôte
‘
Le tunnel sera ouvert jusqu’à ce que votre connexion SSH se termine.
Ouvrez votre navigateur Web (ou une autre application) et définissez le proxy SOCKS sur le port 9999 et localhost. Utilisation localhost parce que l’entrée du tunnel fonctionne sur votre système local.
Nous avons également couvert l’utilisation de PuTTY pour configurer un tunnel SSH sur Windows.
Transferts de fichiers SCP
La commande scp, ou copie sécurisée, vous permet de transférer des fichiers entre un système distant exécutant un serveur SSH et votre système local.
Par exemple, pour copier un fichier local sur un système distant, utilisez la syntaxe suivante:
scp / chemin / vers / local / fichier utilisateur @ hôte: / chemin / vers / destination / fichier
Pour copier un fichier sur un serveur SSH distant sur le système local, utilisez plutôt cette syntaxe:
scp -r utilisateur @ hôte: / chemin / vers / distant / fichier / chemin / vers / destination / fichier
Vous pouvez également configurer un accès scp sans mot de passe et utiliser scp pour transférer des fichiers à partir de scripts.
Montage de répertoires distants
Vous pouvez monter un dossier distant sur SSH et y accéder comme n’importe quel autre répertoire de votre système, en ignorant le processus fastidieux de scp pour les transferts de fichiers.
Si vous utilisez Ubuntu ou un autre environnement de bureau basé sur GNOME avec le gestionnaire de fichiers Nautilus, lancez le gestionnaire de fichiers, cliquez sur le menu Fichier et sélectionnez Se connecter au serveur.
Vous serez invité à entrer les détails du serveur SSH et vos informations d’identification.
Les fichiers du système distant apparaîtront dans votre gestionnaire de fichiers.
D’autres environnements de bureau Linux peuvent avoir des options similaires pour monter facilement un répertoire via SSH.
Si vous n’avez pas accès à une interface graphique ou si vous préférez utiliser un utilitaire de terminal, vous pouvez utiliser sshfs pour monter le système SSH distant en tant que système de fichiers sur votre ordinateur.
Préserver les sessions terminales
Chaque fois que vous vous connectez avec SSH, une nouvelle session de terminal vous est présentée. Lorsque vous vous déconnectez, votre session sera fermée. Si vous préférez conserver une session de terminal entre les sessions SSH, utilisez GNU Screen ou un autre utilitaire.
Après vous être connecté au système distant, exécutez le écran commande pour lancer une session d’écran. Exécutez les commandes dans la session d’écran, puis appuyez sur Ctrl-a puis ré pour se détacher de la session écran.
La session d’écran et les commandes qui y sont exécutées continuent de s’exécuter en arrière-plan. Pour rattacher ultérieurement à la session écran, exécutez le écran -r commander.
SSH peut accepter des commandes à exécuter lorsque vous vous connectez, vous pouvez donc vous connecter à un serveur SSH et vous reconnecter à une session d’écran avec une seule commande:
ssh -t écran utilisateur @ hôte -r
Si vous disposez d’un accès local au système exécutant le serveur SSH, vous pouvez basculer entre l’accès à la session d’écran localement et à distance.
Visualisation des empreintes digitales clés
Lorsque vous vous connectez à votre serveur SSH à partir d’un autre système, vous verrez un message d’avertissement si le système ne connaît pas déjà sa clé. Ce message vous aide à vous assurer que le système distant n’est pas usurpé par un autre système.
Cependant, vous pouvez avoir des difficultés à vous souvenir de la longue chaîne qui identifie la clé publique du système distant. Pour faciliter la mémorisation de l’empreinte digitale de la clé, activez la fonction «clé hôte visuelle».
Vous pouvez l’activer dans votre fichier de configuration SSH ou simplement le spécifier comme option lors de l’exécution de la commande SSH. Par exemple, exécutez la commande suivante pour vous connecter à un serveur SSH avec VisualHostKey activé:
ssh -o VisualHostKey = oui utilisateur @ hôte
Vous n’aurez plus qu’à vous souvenir de l’image, pas d’une longue chaîne.
Avez-vous d’autres conseils à partager? Laissez un commentaire et faites-le nous savoir.