1 votes

Transfert de port pour une connexion SSH sous MacOS

J'ai essayé d'utiliser SSH sur Internet pour me connecter à plusieurs ordinateurs différents sur mon réseau. Malheureusement, cela ne semble fonctionner que sur l'ordinateur qui est configuré sur le port redirigé 22 (port ssh). Voici ce que j'ai fait :

Routeur : Transfert de port 70 -> adresse IP de l'ordinateur

Terminal MacOS :

ssh -L 22(ssh port) : my_external_ip : 70(forwarded port) username@my_external_ip

Il se connecte et me demande ensuite le mot de passe pour le compte "nom d'utilisateur". Bien que je tape le bon mot de passe, le message "Permission denied (publicly, password)" s'affiche.

J'ai essayé toute la journée et je n'arrive pas à comprendre. Je peux accéder à mon routeur de manière non locale et modifier l'ordinateur auquel j'essaie d'accéder pour qu'il fasse suivre le port 22, mais j'aimerais vraiment trouver une meilleure solution.

Je ne suis pas très familier avec les commandes bash (je pense que ce sont des bash ?) et je suis perdu. Heureusement, j'ai pu me connecter à mon serveur de stockage via SAMBA, mais j'aimerais vraiment pouvoir me connecter à chaque ordinateur indépendamment.

1voto

Gordon Davisson Points 30215

Si je comprends bien la configuration, vous utilisez la mauvaise option pour contrôler le port sur lequel la connexion est établie. Si le routeur fait suivre le port 70 vers le port 22 du serveur ssh interne auquel vous voulez vous connecter, alors depuis l'extérieur vous vous connecteriez avec quelque chose comme :

ssh -p 70 username@router_external_ip

Notez que j'utilise -p 70 pour contrôler le port auquel il se connecte sur le "serveur" (qui est en fait le routeur, mais puisque la connexion arrive sur le port 70, elle devrait être redirigée vers le port 22 du serveur interne).

C'est très différent de ce que le -L option le fait. Ce que -L est de dire à ssh de faire une redirection de port (tunnelée) de son propre port. après s'être connecté au serveur SSH . Ajout de -L 22:someip:70 indique à la ssh programme pour écouter sur le port 22 de votre ordinateur local (par défaut, il n'écoute également que sur l'interface de bouclage locale), et s'il reçoit des connexions sur ce port, il doit les transmettre à l'ordinateur distant via la connexion SSH, avec pour instruction que l'ordinateur distant les transmette sur le port 70 de l'interface someip .

Vous pourriez utiliser une sorte de port forward, par exemple, pour tunneliser les connexions de partage de fichiers vers votre serveur de stockage afin de ne pas avoir à exposer le serveur de stockage directement sur l'Internet ouvert (ce qui n'est probablement pas très sûr). Il y a un exemple d'utilisation pour tunnelliser VNC (partage d'écran) en cette question de stackoverflow .

0voto

Marc Wilson Points 3640

Créez plusieurs règles de transfert dans le routeur, une pour chaque machine derrière lui à laquelle vous voulez accéder par SSH. Utilisez des ports élevés différents comme entrée pour chacune.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X