GNU/Linux >> Tutoriels Linux >  >> Linux

ssh via un routeur sans redirection de port

Ce que vous voudriez faire, c'est ssh DEPUIS votre "serveur Linux" VERS quelque chose à l'extérieur, comme "mon_autre_serveur" ou quelque chose d'autre auquel les deux serveurs peuvent accéder.

Vous utiliseriez le transfert de port distant ssh.
[[email protected]_server]$ ssh -R8022:localhost:22 my_other_server.com
Explication :Connectez-vous à my_other_server et ouvrez le port 8022 qui me sera renvoyé sur le port 22.

À partir de my_other_server.com, vous pourrez vous connecter en ssh à localhost sur le port 8022 et faire transférer votre trafic vers linux_server en se superposant sur le tunnel linux_server -> my_other_server [[email protected]_server]$ ssh -p8022 localhost
Explication :Connectez-vous à moi-même sur le port 8022 qui est transmis à linux_server

Si vous rencontrez des problèmes avec l'abandon du tunnel linux_server -> my_other_server initial, vous pouvez créer un script pour le garder ouvert, ajuster les paramètres keepalive ou utiliser autossh.


Cette réponse est basée sur celle acceptée, mais en ajoutant les détails qui m'ont permis de le faire. Je m'excuse pour l'explication piétonne, car ce n'est pas du tout de mon expertise.

Supposons que vous ayez deux ordinateurs, A et B . Vous voulez ssh à partir de A à B , et vous ne pouvez effectuer aucune redirection de port dans les routeurs qui leur sont connectés.

Comme l'indique la réponse acceptée, vous avez besoin d'un serveur S pour cela :dans l'ordinateur B , vous autorisez ssh connexions provenant de S; et depuis l'ordinateur A , vous accéderez à ce tunnel au S pour atteindre B .

Mais comment obtenez-vous ce serveur S ? J'ai trouvé serveo (lien :https://serveo.net/). Il est d'une utilisation très simple. Vous n'avez rien à installer ni à vous inscrire et c'est gratuit. Selon le site Web, les étapes à suivre sont :

  1. Pensez à un alias pour l'ordinateur B . Par exemple, computer_B_alias .

  2. Dans l'ordinateur B , exécutez ssh -R computer_B_alias:22:localhost:22 serveo.net .

  3. Maintenant, vous pouvez accéder à l'ordinateur B depuis l'ordinateur A en exécutant ce qui suit dans l'ordinateur A :ssh -J serveo.net [email protected]_B_alias , où vous devez remplacer user par le nom de l'utilisateur dans l'ordinateur B .

P.S. :Bien sûr, vous faites du point 2 une tâche automatique au démarrage de votre ordinateur B .

P.S.S. :Avant d'essayer ceci, assurez-vous que ssh est installé sur les deux ordinateurs. Pour Ubuntu, sudo apt-get install ssh ferait le travail.


Vous pouvez utiliser une sorte de VPN pour que cela fonctionne, mais cela nécessiterait que vous disposiez d'un serveur auquel le serveur inaccessible puisse accéder. Ensuite, vous pouvez configurer OpenVPN sur le serveur, votre PC et le serveur pare-feu, activez client-to-client , et tu as fini. http://openvpn.net/howto.html


Linux
  1. Comment changer le port SSH sous Linux

  2. Impossible d'exécuter des applications X via SSH sous Linux

  3. Moteur de calcul google de transfert de port Ssh

  4. Tunnel SSH HTTPS

  5. Redirection de port sous Linux sans iptables ?

Comment changer le port SSH sur VPS

Comment configurer le transfert de port dynamique SSH sous Linux

Utilisation du transfert de port SSH comme outil de sécurité sous Linux

Comment changer le port SSH dans CentOS

Comment changer le port SSH sur Centos 7.x ?

Comment changer le port SSH sur Ubuntu ?