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

Signaler
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018
-
Messages postés
29267
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
30 juillet 2020
-
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

Messages postés
29267
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
30 juillet 2020
6 899
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 58146 internautes nous ont dit merci ce mois-ci

Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018

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 ^^.
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018

Petite précision : c'est bien le serveur ubuntu qui est connecté au vpn et non l'ordinateur avec putty.
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018

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.
Messages postés
29267
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
30 juillet 2020
6 899
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 58146 internautes nous ont dit merci ce mois-ci

Messages postés
29267
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
30 juillet 2020
6 899
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
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018

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 ^^.
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018

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.
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018

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).
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018

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...
Messages postés
29267
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
30 juillet 2020
6 899
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 58146 internautes nous ont dit merci ce mois-ci

Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018

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.
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018

Voilà l'erreur que j'ai sur putty : https://imgur.com/a/4LF3b
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018

Voici l'erreur que j'ai sur un autre terminal : "socket is not established"
Messages postés
29267
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
30 juillet 2020
6 899
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 58146 internautes nous ont dit merci ce mois-ci

Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018

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 ^^.
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018

Sinon y a t-il une commande en ssh qui permet de repérer le problème plus en détail ?
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018

peut être avec la commande netstat ?
Messages postés
29267
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
30 juillet 2020
6 899
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
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018

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).
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018

Étrangement aujourd'hui cela marche avec l'ip publique même en 3g, je ne comprend pas pourquoi.
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018

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.
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018

J'ai fait un test avec https://ping.eu/port-chk/
et voici le résultat :
Quand je ferme le vpn avec
sudo systemctl stop openvpn@fr15.service
: 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
Messages postés
29267
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
30 juillet 2020
6 899
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.
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018

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
Messages postés
29267
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
30 juillet 2020
6 899
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.
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018

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.
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018

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

--
Messages postés
29267
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
30 juillet 2020
6 899
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.
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018

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

--
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018

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.
Messages postés
29267
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
30 juillet 2020
6 899
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.