Se connecter en ssh sur ubuntu server avec un VPN [Résolu]

A voir également:Se connecter en ssh sur ubuntu server avec un vpnConnection Wifi défaillante avec Ubuntu Server ✓ - Forum - WiFi Connection à ubuntu server exterieur ✓ - Forum - Ubuntu [UBUNTU 16.04] Impossible de se connecter en SSH depuis la VM - Forum - VirtualBox Connecter ubuntu server à internet via une clé 3G - Forum - Ubuntu Connexion SSH sur Ubuntu connecté à Neufbox - Forum - Ubuntu

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 !

Forum

A voir également:Se connecter en ssh sur ubuntu server avec un vpnConnection Wifi défaillante avec Ubuntu Server ✓ - Forum - WiFi Connection à ubuntu server exterieur ✓ - Forum - Ubuntu [UBUNTU 16.04] Impossible de se connecter en SSH depuis la VM - Forum - VirtualBox Connecter ubuntu server à internet via une clé 3G - Forum - Ubuntu Connexion SSH sur Ubuntu connecté à Neufbox - Forum - Ubuntu

Web: www.shapebootstrap.net

33 réponses

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

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

Merci mamiemando 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

CCM a aidé 28473 internautes ce mois-ci

Reply
réponses:
  • auteur

    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 ^^.

  • auteur

    Petite précision : c'est bien le serveur ubuntu qui est connecté au vpn et non l'ordinateur avec putty.

  • auteur

    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.

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

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

Merci mamiemando 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

CCM a aidé 28473 internautes ce mois-ci

Reply
réponses:
  • auteur

  • auteur

    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.

  • auteur

    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

  • auteur

    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 ^^.

  • auteur

    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.

  • auteur

    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).

  • auteur

    J'ai essayé avec les iptables mais quand je me connectais en local ou avec l'ip public j'avais permission denied quand j'entrais le mot de passe en ssh sur Putty. Voici les iptables que j'ai mis :

    #!/bin/bash
    iptables -F

    #Allow over VPN
    iptables -A INPUT -i tun+ -j ACCEPT
    iptables -A OUTPUT -o tun+ -j ACCEPT

    #Localhost
    iptables -A INPUT -s 127.0.0.1/8 -j ACCEPT
    iptables -A OUTPUT -d 127.0.0.1/8 -j ACCEPT

    #VPN
    iptables -A INPUT -s 123.123.123.123 -j ACCEPT
    iptables -A OUTPUT -d 123.123.123.123 -j ACCEPT

    #SSH
    iptables -A INPUT -p tcp --dport ssh -j ACCEPT
    iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

    #Default Deny
    iptables -A INPUT -j DROP
    iptables -A OUTPUT -j DROP


    A l'aide de ce tuto : https://unix.stackexchange.com/questions/136190/iptables-rule-to-allow-incoming-ssh-connections

    Pour me sortir de la j'ai dû purger openssh server...

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

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

Merci mamiemando 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

CCM a aidé 28473 internautes ce mois-ci

Reply
réponses:
  • auteur

    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.

  • auteur

    Voilà l'erreur que j'ai sur putty : https://imgur.com/a/4LF3b

  • auteur

    Voici l'erreur que j'ai sur un autre terminal : "socket is not established"

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

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

Merci mamiemando 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

CCM a aidé 28473 internautes ce mois-ci

Reply
réponses:
  • auteur

    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 ^^.

  • auteur

    Sinon y a t-il une commande en ssh qui permet de repérer le problème plus en détail ?

  • auteur

    peut être avec la commande netstat ?

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

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.

([email protected]) (~) $ 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

Reply
réponses:
  • auteur

    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).

  • auteur

    Étrangement aujourd'hui cela marche avec l'ip publique même en 3g, je ne comprend pas pourquoi.

  • auteur

    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.

  • auteur

    J'ai fait un test avec http://ping.eu/port-chk/
    et voici le résultat :
    Quand je ferme le vpn avec

    sudo systemctl stop [email protected]
    : j'ai https://imgur.com/a/OhzHM

    Et quand je l'ouvre j'ai : https://imgur.com/a/RsqcZ

    Et quand je fait un ping sans le vpn j'ai ça : https://imgur.com/a/0Y7L1

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

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.

Reply
réponses:
  • auteur

    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

  • auteur

    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.

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

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.

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

C'est bon ! L'astuce du vpn marche ! Manque plus que vous me dites comment faire ce que vous me demandez pour le port ^^.

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

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.

Reply
réponses:
  • auteur

    Ha mais oui ! Je suis désolé ! Je suis vraiment idiot je viens de comprendre merci ^^.

  • auteur

    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.

  • auteur

    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.

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed