SSH par internet

Résolu
Bonjour,

J'ai récemment reçu mon raspberry pi et je fais par la même occasion mes premiers pas sur Linux.

Je communique avec le Pi via SSH et cela fonctionne très bien depuis mon réseau local (PC Win10 avec Putty, PC Ubuntu avec commande ssh, Android avec JuiceSSH ...).

J'ai cru comprendre qu'il était possible de faire de même en étant à l'extérieur de mon réseau local, mais je ne comprends pas la marche à suivre.

Lorsque je me connecte en local, je me log sur mon ip locale avec un truc du genre :
ssh login@192.168.0.XX

Quel est la procédure pour le faire depuis un autre réseau ? J'imagine que ça ressemble à ça :
ssh login@90.XX.XXX.XXX
Mais, si je dis pas de bêtise, là je vais accéder à ma box. Comment cibler la machine qui m'intéresse (en l’occurrence le Pi).
J'imagine que je dois aussi ouvrir un port pour me connecter, je peux décider du numéro arbitrairement ?

Merci pour votre aide.

6 réponses

  1. Bonjours ,

    Si tu ouvre le port 22 ( le port ssh )

    Effectivement sa sera le cas !!
    0
    1. Modérateur
      Et vérifie que ton FAI permet les connexions entrantes sur les ports <1024 .
      Si ce n'est pas le cas, choisis un port > 1024 sur ton modem-routeur ( de préférence non standard pour les protocoles que tu utilises P.ex 65022) et redirige les connexions entrantes sur ce port vers une machine locale.

      Gates gave ^W  sold  you the windows.
      GNU gave us the whole house.(Alexandrin)
      0
      1. Merci pour vos différentes réponses. Je tente ça ce soir sur un autre port que le 22 (dans le doute >1024) et avec redirection sur mon RPI.

        Petit complément, la méthode est-elle la même si je passe par No-Ip ? Comme mon Ip n'est pas fixe, c'est plus pratique d'avoir une adresse qui ne change pas.
        0
        1. Contributeur
          Non ça ne change rien, faudra juste donner le bon port.

          Exemple :
          ssh -p 2222 kargim.no-ip.com
          0
      2. Bon ben j'ai un soucis.

        J'ai bien ouvert le port 2222 et je l'ai redirigé vers mon Pi en TCP et UDP.
        J'ai configuré le fichier sshd_config en mettant le port 2222.

        Quand j'essaie de me connecter, j'ai deux erreurs suivant la commande :
        - ssh pi@86.XXX.XXX.XX:2222
        ssh: could not resolve hostname 86.xxx.xxx.xx:2222: Name or service not known
        - ssh -p 2222 86.XXX.XXX.XX
        ssh: connect to host 86.XXX.XXX.XX port 2222 : Connection refused.

        J'ai mis de côté l'histoire du no-ip pour l'instant, je verrais ça quand j'y arriverai avec l'ip du moment.

        J'imagine que j'ai raté une étape, mais je vois pas laquelle. Z'avez une idée ?

        Merci !
        0
        1. Contributeur
          Attention, certains FAI (Orange, SFR) ne permettent pas de sortir de chez soi pour y revenir ;-(

          Dans ce cas faut essayer depuis un poste externe (IP différente).
          0
        2. Je ne vois pas bien. Par "sortir de chez soi pour y revenir" tu veux dire cibler mon adresse ip "externe" alors que je suis connecté à mon réseau en local ?

          Parce que j'ai fait les tests en utilisant mon smartphone comme hotspot wifi, donc je suis connecté depuis un réseau différent.
          0
        3. Contributeur
          @Kargrim
          Je ne vois pas bien. Par "sortir de chez soi pour y revenir" tu veux dire cibler mon adresse ip "externe" alors que je suis connecté à mon réseau en local ?
          C'est cela oui ;-)
          J'ai bossé à un moment dans une association qui était chez Orange, et heureusement qu'il y avait 2 lignes ADSL pour pouvoir tester les serveurs que j'avais mis en place à l'époque, sans quoi… ;-\

          Parce que j'ai fait les tests en utilisant mon smartphone comme hotspot wifi, donc je suis connecté depuis un réseau différent.
          Dans ce cas, je n'ai rien dit ;-(

          Est-ce qu'un simple ping sur ton IP passe ?

          Tu peux me donner le dernier octet de ton IP pour des tests¹ ?

          ¹ Je comprendrai aisément un refus de ta part ;-)
          0
        4. J'ai essayé un ping sur mon ip. :
          - Avec mon pc Ubuntu, il mouline mais ne me sort aucun résultat. Je suis obligé d'interrompre le processus en fermant le terminal
          - De mon tél android (avec l'application Ping), j'ai droit à un Request Timed out

          Je t'ai envoyé le dernier octet par MP

          Merci !
          0
        5. Contributeur
          @Kargrim
          De mon tél android (avec l'application Ping), j'ai droit à un Request Timed out
          Alors tu as un problème ailleurs ;-(

          Pare-feu ?

          Je t'ai envoyé le dernier octet par MP
          Mes MP sont fermés ;-(

          Tu peux coller le dernier octet ici, y'a aucune chance de trouver les 3 autres ;-))
          0
      3. Pour changer de port, tu as 2 possibilités.
        Le port internet et port local.
        Par convention le port local (sur ton LAN) est le 22.
        Sur internet tu peux prendre n'importe quoi, mais n'oublie la règle NAT à mettre sur ta box.
        Si tu accèdes à ta box depuis internet sur le port 8022 ta règle NAT doit te rediriger sur le port 22 pour accéder sur le bon port à ton Raspberry.

        Si tu as installé des clés tu n'auras pas de demande de mot de passe.
        0
        1. Contributeur
          Si tu as installé des clés tu n'auras pas de demande de mot de passe.
          À condition de ne pas en mettre sur la clé ;-\
          0
        2. OK, donc il est déconseillé de laisser le port 22 sur la BOX mais ça ne pose pas de problème à ce que je redirige du 8022 sur le 22 du Pi ?
          0
        3. Contributeur
          @Kargrim
          OK, donc il est déconseillé de laisser le port 22 sur la BOX
          Oui, les attaques en général se font sur les ports génériques, donc 22 en tête ;-\

          mais ça ne pose pas de problème à ce que je redirige du 8022 sur le 22 du Pi ?
          Non, à partir du moment où tu aura créé une règle dans la Box et que tu mentionnes bien le port lorsque tu voudras te connecter :
          ssh -p 8022 ip_box
          0
        4. Si tu veux améliorer la sécurité, tu peux aussi créer des clés SSH,
          Ensuite tu peux interdire l'acces directe à root.
          Puis tu peux sélectionner un groupe ou seul les membres peuvent avoir accès.
          AllowGroups sshusers
          0
      4. Contributeur
        Salut,

        Il faut paramétrer ta Box de façon à rediriger les connexions entrantes sur un port donné (ne pas laisser le port 22 par défaut), vers l'IP de ton RaspBerry.
        -1
        1. comment veut tu se connecter de l'exterieur sans le port 22 .??
          0
        2. Contributeur
          @theo33410Le port 22 ou autre se paramètre et d'un dans le fichier de conf de ssh (/etc/ssh/sshd_config) et de deux, dans la box, il suffit de dire que tout se qui rentre (disons sur le port 22222), doit être redirigé vers le PC d'IP 192.168.0.xx sur le port défini dans le fichier de conf.

          $ cat /etc/ssh/sshd_config 
          # Package generated configuration file
          # See the sshd_config(5) manpage for details

          # What ports, IPs and protocols we listen for
          Port 222

          # Use these options to restrict which interfaces/protocols sshd will bind to
          #ListenAddress ::
          #ListenAddress 0.0.0.0
          Protocol 2
          […]
          0