J'utilise
ssh [email protected] -g -L 4321:localhost:28017
pour établir un tunnel entre mon MacBook et mon serveur dédié chez mon hébergeur. Ça marche bien. Maintenant, je veux accéder à plusieurs sites d'administration sur le serveur distant (une page d'état MongoDB, une page RabbitMQ, etc., tous sur des ports différents). Tous sont liés à 127.0.0.1 sur la machine distante. Comment puis-je modifier cette commande ssh pour
- attribuer un nom au tunnel et utiliser par exemple "my.tunnel.name" dans mon navigateur
- pouvoir définir le port distant dans mon navigateur; Je souhaite me connecter à my.tunnel.name:port, afin de pouvoir appeler les différents sites
Est-ce possible avec ssh? J'ai lu les pages de manuel et fait des recherches sur Google depuis deux jours maintenant, mais cela ne semble pas fonctionner.
--edit 2012-06-01 23: 36-- Grâce aux réponses et commentaires fournis, la redirection de port fonctionne maintenant en utilisant
ssh [email protected] -D 4321
Je peux configurer cela comme un proxy dans mon navigateur et le navigateur traitera toute demande à localhost: anyport comme si elle avait été faite sur le serveur distant. L'utilisation d'un nom n'est désormais plus nécessaire, car le navigateur est réservé aux sites de serveurs distants.
Vous pouvez attribuer un nom en utilisant le fait que votre adaptateur de bouclage répondra à n'importe quelle adresse du réseau 127.0.0.0/8.
Ainsi, au lieu de vous lier au port 4321, vous pouvez vous lier à 127.1.2.3:4321. Ensuite, configurez simplement une entrée d'hôte qui mappe un nom à l'adresse de bouclage que vous avez utilisée pour que foo.bar mappe
127.1.2.3
.Dans ma configuration SSH sur mon poste de travail administrateur, j'ai de nombreux tunnels configurés pour qu'ils se lient à une adresse dans la plage de bouclage, et j'ai des entrées dans mon fichier hôte, donc j'ouvre de nombreux tunnels en parallèle en utilisant le même port et je les distingue via Nom.
Donc, si vous vous connectez comme ça
Et votre fichier d'hôtes a une ligne comme celle-ci.
Ensuite, vous devriez pouvoir vous connecter à my.tunnel.name:4321 depuis votre ordinateur local.
Si vous disposez d'un espace d'adressage IP supplémentaire sur le réseau auquel votre client ssh est connecté, vous pouvez même attribuer une adresse secondaire à votre interface Ethernet et utiliser l'une de vos adresses IP réelles, puis configurer des entrées dans votre DNS si vous souhaitez que d'autres systèmes puissent pour utiliser votre tunnel SSH.
L'option -L
-L [bind_address:]port:host:hostport
vous permet d'utiliser n'importe quelle adresse IP valide sur le système local pour s'y connecter. Vous devez également inclure l'-g
option si vous souhaitez que d'autres hôtes puissent se connecter via votre tunnel ssh.la source
ifconfig l0 alias 127.0.1.1 255.255.255.0
sinon super astuce!-N
à la fin de la commande. De cette façon, il est plus facile de se rappeler que c'est un tunnel, pas n'importe quelle connexion SSH.127.1.2.3
je devais le faire sur mon macbook:,ifconfig lo0 alias 127.1.2.3 255.255.255.0
qui s'ajoute127.1.2.3
comme nouvelle adresse sur l'interfacelo0
.Créez une redirection de port dynamique au niveau de l'application (socks proxy essentiellement) avec votre tunnel SSH, puis pointez vos applications via celui-ci. Pour créer un tunnel dynamique, connectez-vous comme suit:
Configurez ensuite votre application pour l'utiliser comme proxy SOCKSv5.
Si vous voulez un nom d'hôte lié à cela, ajoutez simplement des
/etc/hosts
entrées qui pointent vers 127.0.0.1, mais une façon plus jolie pourrait être d'ajouter 127.0.0.2 pour le premier tunnel, et une entrée d'hôtes pour celui-ci, 127.0.0.3 pour le second tunnel et une entrée d'hôte distincte pour celui-ci, etc. Si vous ajoutez des alias pour 127.0.0.1, parfois cet alias apparaîtra dans d'autres recherches de commandes de localhost, ce qui peut être déroutant!Pour l'utiliser en douceur dans un navigateur Web, vous pouvez utiliser un module complémentaire de proxy, par exemple, je préfère le navigateur Web Chrome et pour celui-ci, j'utilise un module complémentaire appelé
Proxy Switchy!
. Vous pouvez le télécharger ici:https://chrome.google.com/webstore/detail/caehdcpeofiiigpdhbabniblemipncjj
Dans la configuration de cet addon, je peux définir plusieurs proxys séparés, puis lier des expressions régulières d'hôtes / URL pour utiliser certains proxies, de cette façon je serai toujours correctement redirigé via les bons tunnels sans avoir à basculer manuellement. Veuillez me faire savoir si vous avez besoin de précisions sur l'une des étapes!
la source