Publicité
Si vous êtes un utilisateur Linux ou UNIX, vous utilisez probablement SSH (Secure Shell) pour accéder à distance à la ligne de commande sur vos machines. En plus de fournir un accès sécurisé aux comptes shell, SSH peut également transporter en toute sécurité d'autres types de trafic Web. Dans un sens, il peut vous fournir un VPN (réseau privé virtuel) rapide et facile dans le réseau distant où réside votre serveur SSH.
Tout d'abord, vous aurez bien sûr besoin d'un serveur SSH fonctionnant quelque part. Linux et OS X sont livrés avec des serveurs SSH, mais il existe également des serveurs SSH disponibles pour Windows. freeSSHd est un joli serveur SSH gratuit pour Windows. Il s'agit d'une installation rapide et facile et relativement facile à configurer également. Vous aurez bien sûr besoin de privilèges d'administrateur sur la machine sur laquelle vous l'installez.
Puisque vous accéderez à distance à votre serveur SSH, s'il se trouve derrière un pare-feu ou un routeur, vous devrez vous assurer que le port 22 (le port SSH par défaut) lui est correctement transmis. La plupart des routeurs ont la possibilité de transférer des ports vers des machines individuelles sur le réseau local. Vous devrez vous référer aux instructions de votre routeur / pare-feu pour savoir comment procéder.
Une fois votre serveur SSH configuré pour pouvoir vous y connecter depuis n'importe quelle connexion Internet, vous aurez bien sûr besoin d'un client pour vous y connecter. Linux et OS X ont tous deux des clients SSH intégrés. Si vous êtes sous Windows, le client de choix est Mastic. Je fournirai des instructions sur le tunneling avec PuTTY, mais vous pouvez certainement utiliser d'autres clients également.
Tout d'abord, spécifiez l'adresse de votre serveur SSH dans le Session section. Sélectionner SSH pour le Type de connexion et entrez 22 pour le Port (ou quel que soit le port Internet externe que vous utilisez pour vous connecter à votre serveur SSH).
Ensuite, allez à Connexion > SSH > Tunnels. Il existe trois types de tunnels que vous pouvez configurer:
- Dynamique - Cela agit comme un proxy SOCKS qui peut être utilisé pour tunneler le trafic à travers le réseau où réside le serveur SSH. Vous pouvez ensuite configurer des applications qui prennent en charge les proxys SOCKS (comme un navigateur Web) pour en tirer parti. Je vais vous montrer comment configurer Firefox pour fonctionner à travers un tunnel dynamique.
- Local - Un tunnel local vous permettra de vous connecter au port spécifié sur une machine résidant sur le même réseau que le serveur SSH. Un exemple utile que je vais vous montrer est de savoir comment se connecter à un ordinateur Windows exécutant Remote Desktop.
- Éloigné - Comme son nom l'indique quelque peu, c'est l'inverse d'un tunnel local. Vous êtes probablement moins susceptible de l'utiliser, mais cela permettrait aux machines du réseau du serveur SSH d'accéder à une machine et au port du réseau sur lequel réside votre client SSH. Je ne passerai en revue aucun exemple de configuration d'un port distant dans cet article.
Donc, dans l'exemple que je vais donner, nous dirons que le réseau domestique a deux ordinateurs. L'un est un boîtier Linux exécutant le serveur SSH et l'autre est un boîtier Windows avec Remote Desktop activé. Nous voulons mettre en place deux tunnels: un tunnel dynamique et un tunnel local pour se connecter à la machine Windows via le Bureau à distance.
Commençons par configurer un tunnel dynamique pour le port 1080. Le port que vous utilisez pour un tunnel dynamique est en fait arbitraire, mais comme le port 1080 est souvent utilisé pour les proxys SOCKS, c'est ce que nous allons utiliser. Tapez 1080 dans le Port source champ, sélectionnez Dynamique comme type de port, puis cliquez sur le Ajouter bouton.
Ensuite, configurons le tunnel local pour l'ordinateur sur le réseau exécutant Windows Remote Desktop. Supposons que les adresses IP locales sur le LAN où réside le serveur SSH sont des adresses 192.168.1.xxx. La machine Windows a une IP locale de 192.168.1.100. Entrez 3390 pour le Port source, 192.168.1.100:3389 pour le Destination, sélectionnez Local pour le type de port, puis cliquez sur le Ajouter bouton. Vous verrez plus tard pourquoi j'ai configuré le port source pour qu'il soit différent de la destination.
Une fois que vous avez tout configuré pour la connexion, revenez à la Session et enregistrez votre connexion. Puis clique Ouvert et connectez-vous à votre boîte Linux avec vos informations d'identification comme vous le feriez normalement.
Vous devez maintenant configurer vos applications pour utiliser les tunnels que vous avez configurés. Supposons que vous souhaitiez effectuer votre navigation sur le Web à travers le tunnel dynamique que nous avons configuré. C'est en fait un moyen extrêmement utile de tirer parti de SSH.
Vous pouvez être sur un réseau avec une sorte de pare-feu ou de filtrage de contenu que vous souhaitez contourner. Si vous pouvez sortir sur le port 22 (ou tout autre port, il vous suffira de configurer votre serveur SSH en conséquence), vous pourrez alors surfer sans problème à travers le tunnel dynamique.
Il est également utile si vous surfez sur un réseau où vous pouvez être préoccupé par le fait que d'autres observent votre trafic. Vous vous connectez peut-être à partir d'un hôtel, d'un site client ou du travail (vous ne l'avez pas appris de moi) et vous ne voulez pas que d'autres surveillent votre trafic.
Le meilleur choix est d'utiliser Firefox, car Firefox vous permet de configurer le navigateur pour envoyer également des requêtes DNS via le proxy. Si vous utilisez Internet Explorer, vos requêtes DNS sont toujours effectuées via le réseau local à partir duquel vous vous connectez et peuvent donc toujours être surveillées. Firefox serait donc le navigateur préféré si vous souhaitez maintenir la confidentialité sur le réseau à partir duquel vous vous connectez.
Pour configurer Firefox pour utiliser le tunnel dynamique en tant que proxy SOCKS, accédez à Firefox Les options > Avancée > Réseau et cliquez sur le Paramètres »¦ bouton. Dans la page des paramètres, cliquez sur Configuration manuelle du proxy, entrez localhost pour Hôte SOCKSet 1080 pour le Port.
Nous n'avons pas tout à fait fini. Nous devons encore configurer Firefox pour envoyer également des requêtes DNS au proxy SOCKS. Pour ce faire, entrez about: config dans la barre de navigation de Firefox. Vous pouvez recevoir une invite vous demandant si vous savez ce que vous faites. Assurez Firefox que vous savez ce que vous faites et continuez.
Entrez socks_remote_dns pour le Filtre et appuyez sur Entrée. Vous devriez voir une seule option qui dit network.proxy.socks_remote_dns. S'il dit faux pour le Valeur, double-cliquez dessus pour qu'il dise vrai. Vous êtes maintenant prêt. Vous devriez pouvoir surfer sur le Web à travers votre nouveau tunnel dynamique sécurisé!
Heureusement, la connexion à notre machine Windows Remote Desktop est beaucoup plus facile. Vous venez de lancer le client Bureau à distance et entrez localhost: 3390 pour l'adresse de la machine. C'est tout ce qu'on peut en dire!
La raison pour laquelle nous avons configuré le port source sur 3390 est que le client Bureau à distance ne vous permettra pas de vous connecter au port bureau à distance par défaut (3389) sur la machine locale. C’est pourquoi nous avons utilisé le 3390 à la place (nous aurions pu utiliser n’importe quel port, j’utilise le 3390 simplement parce que je me souviens facilement).
Le port source que vous utilisez pour configurer les tunnels est arbitraire. Nous aurions pu utiliser 1234 au lieu de 3390 si nous le voulions, tant que rien ne fonctionne sur la machine locale au port 1234. Ce qui n'est pas arbitraire, c'est ce que vous utilisez sur l'IP et le port de destination. Pour cela, vous devrez utiliser l'adresse IP et le port appropriés pour le service auquel vous souhaitez vous connecter.
Vous pouvez configurer un tunnel pour n'importe quel service sur n'importe quelle adresse IP n'importe où. Il vous suffit de configurer le programme pour vous connecter à localhost sur le port source que vous avez configuré pour le tunnel. C'est une façon assez astucieuse de se connecter à des choses que vous ne pourriez pas utiliser autrement, en raison de problèmes de pare-feu que vous pourriez rencontrer. Tout ce dont vous avez besoin est d'un seul port pour accéder à votre serveur SSH, et il doit bien sûr être exécuté sur ce port.
Utilisez-vous des tunnels SSH? Pour quelles sortes de choses intéressantes les utilisez-vous?
Crédit photo: kreg.steppe
Je suis un geek assez typique qui passe des heures devant un écran d'ordinateur au travail comme à la maison. J'aime aussi assembler des outils et des gadgets astucieux.