5 votes

Comment puis-je exposer plusieurs ports de serveurs distants via sshuttle ?

J'ai un serveur distant qui n'expose que SSH. Des services sont exécutés sur d'autres ports, par exemple une base de données sur le port 3306. Ces ports ne sont pas accessibles à distance, mais ils le sont dans le contexte du serveur ( localhost:3306 ).

使用方法 ssh -L Je peux accéder à un seul port du serveur distant . Mais comment puis-je faire tous ces ports sont accessibles à ma machine locale via une connexion ssh/sshuttle ?

5voto

lofidevops Points 18960

Sur le serveur distant, définissez un adresse IP secondaire par exemple 10.0.0.1, qui pointe vers lui-même. (De la même façon que 127.0.0.1 le fait.)

Sur votre machine locale, créez votre connexion sshuttle comme suit :

sshuttle -r user@remote 10.0.0.1
# "user" is your username on the remote machine
# "remote" is the name or IP address of the remote machine

Vous pouvez maintenant accéder au serveur distant à l'adresse 10.0.0.1. Étant donné qu'il considère les connexions provenant de 10.0.0.1 comme étant "lui-même", tous les ports sont accessibles à cette adresse. (Ils cessent d'être accessibles dès que vous fermez la connexion sshuttle).

Vous pouvez le confirmer avec les commandes suivantes :

nmap remote # returns only ssh port
nmap 10.0.0.1 # returns all ports

Vous pouvez maintenant vous connecter à votre base de données avec l'adresse 10.0.0.1:3306 . Par exemple, s'il s'agit d'une base de données MySQL, vous pouvez vous y connecter en utilisant MySQL Workbench.

Si cette approche vous convient, vous pouvez envisager d'utiliser le logiciel sshoot pour gérer vos connexions sshuttle.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X