Se connecter en ssh sur ubuntu server avec un VPN

Résolu
squaria Messages postés 87 Statut Membre -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
Tout d'abord pour que ce soit plus clair je vais reformuler ce que j'ai marqué dans le sujet :
J'aimerais me connecter en ssh à partir de l'ip publique de la machine sous ubuntu server mais malheureusement vu qu'il est connecté à un vpn (NordVPN) il veut pas se connecter à partir du l'ip du tunel VPN (ce qui est normal en soit), c'est à dire celle là : https://imgur.com/wwer2Xc . Du coup j'aimerais trouver une solution pour me connecter malgré le VPN. Voici l'erreur avec Putty : https://imgur.com/aSURkZb . Merci d'avance !

9 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 942
     
    Bonjour,

    Ta question est un peu trop vague pour qu'on puisse y répondre. Il faudrait voir notamment les routes du serveur VPN et avoir (quitte à les anonymiser) les IPs associées à son interface réseau et son interface VPN. Ces informations peuvent être obtenues à l'aide des commandes
    /sbin/ifconfig -a
    et
    /sbin/route -n
    .

    Vu les symptômes j'aurais tendance à penser que la route par défaut du serveur est gérée par l'interface VPN, et que celle-ci ne permet pas de joindre des IPs publiques (i.e. ton windows). Une solution pourrait être de n'associer que le préfixe VPN a cette interface.

    Peut-être que nous expliquer un peu plus précisément ton cas d'usage permettrait de mieux comprendre ce que tu cherches à faire...

    Bonne chance
    1
    1. squaria Messages postés 87 Statut Membre
       
      Merci beaucoup pour votre réponse ! Malheureusement je ne peux plus me connecter à la machine vu que je ne suis plus chez moi cette semaine. Donc je vous recontacterais la semaine prochaine ! Sinon j'ai dans l'idée de me connecter à un vpn en dedicated ip (cela marchera surement mieux ^^.
      0
    2. squaria Messages postés 87 Statut Membre
       
      Petite précision : c'est bien le serveur ubuntu qui est connecté au vpn et non l'ordinateur avec putty.
      0
    3. squaria Messages postés 87 Statut Membre
       
      Bonsoir,
      Je suis de retour. voici donc les réponses aux commandes que vous m'avez demandé.
      Pour /sbin/ifconfig -a :
      enp2s0    Link encap:Ethernet  HWaddr 54:04:a6:56:e6:43
      inet adr:192.168.1.13 Bcast:192.168.1.255 Masque:255.255.255.0
      adr inet6: fe80::5604:a6ff:fe56:e643/64 Scope:Lien
      adr inet6: 2a01:cb05:855c:1100:5604:a6ff:fe56:e643/64 Scope:Global
      UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
      Packets reçus:936 erreurs:0 :0 overruns:0 frame:0
      TX packets:655 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 lg file transmission:1000
      Octets reçus:710973 (710.9 KB) Octets transmis:100595 (100.5 KB)

      lo Link encap:Boucle locale
      inet adr:127.0.0.1 Masque:255.0.0.0
      adr inet6: ::1/128 Scope:Hôte
      UP LOOPBACK RUNNING MTU:65536 Metric:1
      Packets reçus:365 erreurs:0 :0 overruns:0 frame:0
      TX packets:365 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 lg file transmission:1
      Octets reçus:38380 (38.3 KB) Octets transmis:38380 (38.3 KB)

      tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
      inet adr:10.8.0.1 P-t-P:10.8.0.1 Masque:255.255.255.0
      UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
      Packets reçus:0 erreurs:0 :0 overruns:0 frame:0
      TX packets:26 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 lg file transmission:100
      Octets reçus:0 (0.0 B) Octets transmis:6900 (6.9 KB)


      et

      /sbin/route -n

      Table de routage IP du noyau
      Destination Passerelle Genmask Indic Metric Ref Use Iface
      0.0.0.0 10.8.8.1 128.0.0.0 UG 0 0 0 tun1
      0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 enp2s0
      10.8.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0
      10.8.8.0 0.0.0.0 255.255.255.0 U 0 0 0 tun1
      128.0.0.0 10.8.8.1 128.0.0.0 UG 0 0 0 tun1
      163.172.74.23 192.168.1.1 255.255.255.255 UGH 0 0 0 enp2s0
      169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 enp2s0
      192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 enp2s0


      PS: Je suis connecté à un VPN.
      0
  2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 942
     
    Bonjour,

    Les routes qui correspondent à
    tun1
    sont celles associées à la commande VPN. Le reste passe par ta connexion réseau "normale"
    enp2s0
    . Ici ce sont les deux premières routes qui sont significatives. Par défaut (donc, si on omet les routes suivantes)
    • toutes les IPs de
      0.0.0.1
      à
      127.255.255.254
      passent par le VPN.
    • toutes les IPs restantes de
      127.255.255.255
      à
      255.255.255.254
      .


    À toi de corriger les routes pour resserrer la plage d'IP concernées, en supprimant l'ancienne et en ajoutant la nouvelle. Pour ce faire, tu peux soit avec la commande
    route add
    et
    route del
    , soit avec la commande
    ip route add
    et
    ip route del
    .
    http://linux-ip.net/html/tools-ip-route.html

    Bonne chance
    1
    1. squaria Messages postés 87 Statut Membre
       
      Bonsoir,
      J'ai bien lu votre message mais je ne comprend pas certains de vos thermes et je ne comprend pas ce que vous voulez que je fasse. C'est à dire qu'entendez vous par ancienne ou nouvelle ? Donc si j'ai bien compris il faut que je fasse cela ? :
      ip route del 10.38.0.0/16 via 192.168.1.13 dev enp2s0

      et
      ip route add 10.38.0.0/16 via 192.168.1.13


      PS: Soyez indulgent s'il vous plaît je n'ai jamais fait cela.
      0
    2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 942
       
      Disons que vu que je n'ai pas très bien compris quelle IP tu voulais joindre et via quelle interface, je ne peux pas trop te répondre.

      Donc de manière générale :
      1) Il faut déterminer la route qui gère l'IP que tu veux atteindre. C'est l'IP de destination et le genmask qui permet de savoir quelle est la plage d'adresses IP gérée par une route. Si tu ne sais pas interpréter ces deux adresses, alors tu peux utiliser ce genre d'outil.
      2) Si deux routes semblent couvrir l'IP en question, c'est celle dont la plage est la plus spécifique qui est privilégiée. En cas d'égalité, c'est celle avec la métrique la plus faible qui est utilisée.
      3) Une fois la route déterminée, tu devrais t'apercevoir qu'elle ne passe par l'interface que tu souhaites utiliser.

      Une fois que tout ceci est clair, soit tu modifies la route en question (quitte à faire un add et un del), soit tu ajoutes une route plus spécifique (par exemple, l'IP du serveur en question avec un genmask 255.255.255.255).

      Bonne chance
      0
    3. squaria Messages postés 87 Statut Membre
       
      Bonjour,
      Olala je ne comprend toujours pas ce que vous dite ! Le seul therme que je connais c'est l'IP haha. Bon plus serieusement je pense que je devrais vous expliquer ce que je voudrais faire en détail :
      La seule et unique chose que je veux faire c'est de me connecter avec putty (hors local) sur l'ip du vpn qui est installé sur le NAS. Donc par exemple sur le NAS j'entre la commande :
      sudo openvpn --config monvpn.ovpn
      et ensuite à partir de l'ip du vpn que je viens de lancer, se connecter avec putty avec cette ip et cela hors local (pas 192.168.1.13). Voilà jespère avoir été clair ^^.
      0
    4. squaria Messages postés 87 Statut Membre
       
      Bon pour faire simple on va dire que pour l'instant on oublie le VPN mais par contre je voudrais quand même accéder à mon NAS hors local.
      0
    5. squaria Messages postés 87 Statut Membre
       
      Sinon j'ai aussi ouvert le port 22 sur ma livebox, j'ai activer DMZ et j'ai créer un dynDNS avec no-ip (même si j'en ai pas besoin).
      0
  3. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 942
     
    Bonjour,

    Au niveau de ta livebox, il faut faire une redirection de port.

    Exemple Supposons que :
    • ton serveur ssh en local a l'IP 192.168.1.100 et qu'il écoute sur le port 22
    • que ta livebox a l'IP publique 11.22.33.44
    • que tu souhaites pouvoir faire
      ssh 11.22.33.44
      .

    Alors il faut rediriger le port 22 de ta livebox vers 192.168.1.100, port 22

    Tu peux aussi décider que le port public soit autre chose que 22, par exemple 2222 (mais il faudra alors taper une commande du genre
    ssh -p 2222 11.22.33.44
    ). L'idée est ainsi de limiter les risques d'attaques, mais ça force à préciser le port. Dans ce cas il faut rediriger le port 2222 de ta livebox vers 192.168.1.100, port 22.

    Je te recommande aussi de vérifier au niveau des baux DHCP que 192.168.1.100 est alloué de manière fixe (par exemple en associant cette adresse IP locale à l'adress MAC de la carte réseau de ton serveur ssh).

    Bonne chance
    1
    1. squaria Messages postés 87 Statut Membre
       
      Bonjour, je ne sais pas si c'est bien ça dont vous parler de redirection de port mais voilà : https://imgur.com/a/6rtkg (Kasper = NAS) sinon j'ai changé le port 22 en 10060. Donc même avec cette configuration cela ne marche pas.
      0
    2. squaria Messages postés 87 Statut Membre
       
      Voici l'erreur que j'ai sur un autre terminal : "socket is not established"
      0
  4. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 942
     
    Bonjour,

    Parviens-tu à te connecter en ssh (par exemple avec putty) à Kasper depuis ton réseau local ?

    Quand tu parles de changer le port, tu parles du port entrant configuré sur ta livebox, pas celui utilisé par le serveur ssh ? En tout cas pour commencer, garde le port standard (22), et on le changera par la suite quand ça marchera. Une chose à la fois :-)

    As-tu contrôlé que tu te connectais bien à l'IP publique de ta livebox ?

    Bonne chance
    1
    1. squaria Messages postés 87 Statut Membre
       
      Bonjour, oui je peux me connecter en local aucun problème et oui j'avais changé le port dans /etc/ssh/sshd_config. Oui j'ai verifié que c'était bien la bonne ip publique ^^.
      0
    2. squaria Messages postés 87 Statut Membre
       
      Sinon y a t-il une commande en ssh qui permet de repérer le problème plus en détail ?
      0
    3. squaria Messages postés 87 Statut Membre
       
      peut être avec la commande netstat ?
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 942
     
    Bonjour,

    Par rapport aux histoires de ports, attention il faut distinguer :
    • le port sur lequel écoute le serveur ssh (mettons 192.168.1.10), configuré dans
      /etc/ssh/sshd_config
      : a priori pas de raison de mettre autre chose que 22, puisque dans ton réseau local, tu as confiance
    • le port sur lequel écoute la livebox et qui est redirigé vers le serveur ssh (192.168.1.10:22) : c'est lui que tu pourrais (au niveau de la livebox) changer (mettons 2222). C'est lui dans ce cas qui serait utilisé par un client ssh extérieur à ton réseau local. Le client ferait "comme si" le serveur ssh était ta livebox (port 2222), qui en pratique transmettrait le trafic vers le "vrai" serveur ssh (192.168.1.10:22)


    Pour vérifier sur quels ports écoute une machine linux, tu peux utiliser
    netstat -ntlp
    .

    Exemple : ici on voit que ma machine écoute bien sur le port 22.

    (mando@aldur) (~) $ netstat -ntlp
    (Tous les processus ne peuvent être identifiés, les infos sur les processus
    non possédés ne seront pas affichées, vous devez être root pour les voir toutes.)
    Connexions Internet actives (seulement serveurs)
    Proto Recv-Q Send-Q Adresse locale Adresse distante Etat PID/Program name
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
    tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN -
    tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN -
    tcp6 0 0 :::1716 :::* LISTEN 1177/kdeconnectd
    tcp6 0 0 :::22 :::* LISTEN -
    tcp6 0 0 ::1:25 :::* LISTEN -
    tcp6 0 0 :::111 :::* LISTEN -


    Si au niveau du serveur ssh, tout est bon, on peut commencer à tester la redirection de port :
    • Assure-toi que l'IP locale (192.168.1.10 dans mon exemple) du serveur ssh est bien celle que tu as configurée dans ta livebox (dans mon exemple on redirige 2222 vers 192.168.1.10:22)
    • Récupère l'IP publique de ta livebox (que tu peux voir, depuis un PC qui accède à internet via ta livebox) via ce genre de site, mettons 11.22.33.44.
    • Ton client ssh ne doit pas être connecté à Internet via ta livebox (utilise par exemple une connexion 4G).
    • Dans le client, connecte-toi à l'hôte 11.22.33.44, port 2222.
    • Une fois que tout ceci marche, tu peux passer à la configuration dynDNS.


    Bonne chance
    0
    1. squaria Messages postés 87 Statut Membre
       
      Merci pour votre réponse !
      Bon tout d'abord voici quand je fait : netstat -ntlp
      Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat       PID/Program name
      tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
      tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN -
      tcp 0 0 0.0.0.0:9117 0.0.0.0:* LISTEN 1279/mono
      tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN -
      tcp 0 0 0.0.0.0:9091 0.0.0.0:* LISTEN -
      tcp 0 0 0.0.0.0:51076 0.0.0.0:* LISTEN -
      tcp 0 0 127.0.0.1:904 0.0.0.0:* LISTEN -
      tcp 0 0 0.0.0.0:8200 0.0.0.0:* LISTEN -
      tcp 0 0 127.0.0.1:905 0.0.0.0:* LISTEN -
      tcp 0 0 127.0.0.1:906 0.0.0.0:* LISTEN -
      tcp 0 0 127.0.0.1:907 0.0.0.0:* LISTEN -
      tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN -
      tcp 0 0 127.0.0.1:908 0.0.0.0:* LISTEN -
      tcp 0 0 127.0.0.1:909 0.0.0.0:* LISTEN -
      tcp 0 0 192.168.1.13:943 0.0.0.0:* LISTEN -
      tcp6 0 0 :::22 :::* LISTEN -
      tcp6 0 0 ::1:631 :::* LISTEN -
      tcp6 0 0 :::8920 :::* LISTEN -
      tcp6 0 0 :::445 :::* LISTEN -
      tcp6 0 0 :::8096 :::* LISTEN -
      tcp6 0 0 :::51076 :::* LISTEN -
      tcp6 0 0 :::139 :::* LISTEN -

      Donc comme ce qui est en gras. Et sinon comment je change le port qu’écoute la livebox play ? Car à part NAT/PAT je ne trouve pas d'autre paramètres de ports dans http://192.168.1.1. Sinon j'ai verifié l'ip local de mon NAS est la même partout (192.168.1.13).
      0
    2. squaria Messages postés 87 Statut Membre
       
      Étrangement aujourd'hui cela marche avec l'ip publique même en 3g, je ne comprend pas pourquoi.
      0
    3. squaria Messages postés 87 Statut Membre
       
      Bon pour l'instant je voudrais juste savoir comment changer le port qu’écoute la livebox play. Sinon dès que j'active le VPN sur le NAS cela ne marche plus.
      0
  7. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 942
     
    Bonjour,

    - Pour changer le port sur lequel écoute ta livebox, il suffit de corriger la redirection de port (port entrant).
    - Pour le VPN, indique-moi ce que tu veux faire.
    0
    1. squaria Messages postés 87 Statut Membre
       
      Comme ceci ? https://imgur.com/a/2sEu2
      Sinon pour le vpn en fait c'est le NAS qui se connecte au VPN avec cette commande :
      sudo openvpn --config /etc/openvpn/fr15.conf
      0
    2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 942
       
      Non là tu as redirigé le livebox:22 vers le nas:22 et livebox:2222 vers nas:2222 ; il faut rediriger livebox:2222 vers nas:22.

      Ensuite pour ton histoire de NAS, quand il active openvpn, il faut que ton client utilise l'IP du VPN de ton NAS et qu'il soit lui même connecté au VPN.
      0
  8. squaria Messages postés 87 Statut Membre
     
    Merci beaucoup pour votre réponse mais évitez de répondre par énigme cela ira bien plus vite ^^ Parceque là je ne vois pas comment appliquer ce que vous me demandez de faire.. montrez moi par exemple à quoi doit ressembler la configuration des ports par exemple ;). Sinon merci pour l'astuce du VPN je vais essayer.
    0
  9. squaria Messages postés 87 Statut Membre
     
    C'est bon ! L'astuce du vpn marche ! Manque plus que vous me dites comment faire ce que vous me demandez pour le port ^^.

    --
    0
  10. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 942
     
    A ce stade, tu as écrit deux redirections (= deux lignes) :
    - livebox:2222 vers nas:2222 (ces deux ports correspondants respectivement à deux colonnes)
    - livebox:22 vers nas:22

    Il faut donc que tu n'aies qu'une seule ligne, et que la premier port soit 2222 et le second 22.

    Dès lors tu pourras te connecter à ton serveur ssh via l'IP publique de ta livebox, port 2222.
    0
    1. squaria Messages postés 87 Statut Membre
       
      Ha mais oui ! Je suis désolé ! Je suis vraiment idiot je viens de comprendre merci ^^.

      --
      0
    2. squaria Messages postés 87 Statut Membre
       
      Tout est bon ! Je vous remercie infiniment pour la patience que vous avez de pouvoir m'expliquer et résoudre mon problème, au revoir ! et Merci encore ! Vous pouvez mettre le sujet en résolu si vous voulez.
      0
    3. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 942
       
      Ha mais oui ! Je suis désolé !

      Tu comprends mon embarras quand tu me disais que je parlais par énigme ^^

      Tout est bon ! Je vous remercie infiniment pour la patience que vous avez de pouvoir m'expliquer et résoudre mon problème, au revoir ! et Merci encore ! Vous pouvez mettre le sujet en résolu si vous voulez.

      De rien !

      Pour basculer les sujets en résolu, voir ici. Je m'en occupe.

      Bonne contination.
      0