Menu

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

squaria 80 Messages postés dimanche 6 novembre 2016Date d'inscription 19 février 2018 Dernière intervention - 4 févr. 2018 à 17:37 - Dernière réponse : mamiemando 28364 Messages postés jeudi 12 mai 2005Date d'inscriptionModérateurStatut 24 mai 2018 Dernière intervention
- 20 févr. 2018 à 10:12
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 !
Afficher la suite 

Votre réponse

33 réponses

mamiemando 28364 Messages postés jeudi 12 mai 2005Date d'inscriptionModérateurStatut 24 mai 2018 Dernière intervention - 5 févr. 2018 à 10:19
+1
Utile
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
Cette réponse vous a-t-elle aidé ?  
squaria 80 Messages postés dimanche 6 novembre 2016Date d'inscription 19 février 2018 Dernière intervention - 5 févr. 2018 à 10:54
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 ^^.
squaria 80 Messages postés dimanche 6 novembre 2016Date d'inscription 19 février 2018 Dernière intervention - 5 févr. 2018 à 12:44
Petite précision : c'est bien le serveur ubuntu qui est connecté au vpn et non l'ordinateur avec putty.
squaria 80 Messages postés dimanche 6 novembre 2016Date d'inscription 19 février 2018 Dernière intervention - 11 févr. 2018 à 23:15
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.
Commenter la réponse de mamiemando
mamiemando 28364 Messages postés jeudi 12 mai 2005Date d'inscriptionModérateurStatut 24 mai 2018 Dernière intervention - Modifié par mamiemando le 12/02/2018 à 10:48
+1
Utile
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
Cette réponse vous a-t-elle aidé ?  
mamiemando 28364 Messages postés jeudi 12 mai 2005Date d'inscriptionModérateurStatut 24 mai 2018 Dernière intervention - 13 févr. 2018 à 13:24
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
squaria 80 Messages postés dimanche 6 novembre 2016Date d'inscription 19 février 2018 Dernière intervention - 13 févr. 2018 à 13:50
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 ^^.
squaria 80 Messages postés dimanche 6 novembre 2016Date d'inscription 19 février 2018 Dernière intervention - 13 févr. 2018 à 18:29
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.
squaria 80 Messages postés dimanche 6 novembre 2016Date d'inscription 19 février 2018 Dernière intervention - 13 févr. 2018 à 23:02
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).
squaria 80 Messages postés dimanche 6 novembre 2016Date d'inscription 19 février 2018 Dernière intervention - 14 févr. 2018 à 16:00
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...
Commenter la réponse de mamiemando
mamiemando 28364 Messages postés jeudi 12 mai 2005Date d'inscriptionModérateurStatut 24 mai 2018 Dernière intervention - 15 févr. 2018 à 09:32
+1
Utile
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
Cette réponse vous a-t-elle aidé ?  
squaria 80 Messages postés dimanche 6 novembre 2016Date d'inscription 19 février 2018 Dernière intervention - 15 févr. 2018 à 17:58
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.
squaria 80 Messages postés dimanche 6 novembre 2016Date d'inscription 19 février 2018 Dernière intervention - 15 févr. 2018 à 18:20
Voilà l'erreur que j'ai sur putty : https://imgur.com/a/4LF3b
squaria 80 Messages postés dimanche 6 novembre 2016Date d'inscription 19 février 2018 Dernière intervention - 16 févr. 2018 à 10:18
Voici l'erreur que j'ai sur un autre terminal : "socket is not established"
Commenter la réponse de mamiemando
mamiemando 28364 Messages postés jeudi 12 mai 2005Date d'inscriptionModérateurStatut 24 mai 2018 Dernière intervention - Modifié par mamiemando le 16/02/2018 à 10:59
+1
Utile
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
Cette réponse vous a-t-elle aidé ?  
squaria 80 Messages postés dimanche 6 novembre 2016Date d'inscription 19 février 2018 Dernière intervention - 16 févr. 2018 à 11:07
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 ^^.
squaria 80 Messages postés dimanche 6 novembre 2016Date d'inscription 19 février 2018 Dernière intervention - 16 févr. 2018 à 11:10
Sinon y a t-il une commande en ssh qui permet de repérer le problème plus en détail ?
squaria 80 Messages postés dimanche 6 novembre 2016Date d'inscription 19 février 2018 Dernière intervention - 16 févr. 2018 à 11:24
peut être avec la commande netstat ?
Commenter la réponse de mamiemando
mamiemando 28364 Messages postés jeudi 12 mai 2005Date d'inscriptionModérateurStatut 24 mai 2018 Dernière intervention - Modifié par mamiemando le 16/02/2018 à 20:41
0
Utile
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
squaria 80 Messages postés dimanche 6 novembre 2016Date d'inscription 19 février 2018 Dernière intervention - 16 févr. 2018 à 20:57
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).
squaria 80 Messages postés dimanche 6 novembre 2016Date d'inscription 19 février 2018 Dernière intervention - 17 févr. 2018 à 11:16
Étrangement aujourd'hui cela marche avec l'ip publique même en 3g, je ne comprend pas pourquoi.
squaria 80 Messages postés dimanche 6 novembre 2016Date d'inscription 19 février 2018 Dernière intervention - 17 févr. 2018 à 11:18
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.
squaria 80 Messages postés dimanche 6 novembre 2016Date d'inscription 19 février 2018 Dernière intervention - 17 févr. 2018 à 12:16
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 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
Commenter la réponse de mamiemando
mamiemando 28364 Messages postés jeudi 12 mai 2005Date d'inscriptionModérateurStatut 24 mai 2018 Dernière intervention - 17 févr. 2018 à 14:07
0
Utile
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.
squaria 80 Messages postés dimanche 6 novembre 2016Date d'inscription 19 février 2018 Dernière intervention - 17 févr. 2018 à 14:24
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
mamiemando 28364 Messages postés jeudi 12 mai 2005Date d'inscriptionModérateurStatut 24 mai 2018 Dernière intervention - 19 févr. 2018 à 10:25
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.
Commenter la réponse de mamiemando
squaria 80 Messages postés dimanche 6 novembre 2016Date d'inscription 19 février 2018 Dernière intervention - 19 févr. 2018 à 10:44
0
Utile
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.
Commenter la réponse de squaria
squaria 80 Messages postés dimanche 6 novembre 2016Date d'inscription 19 février 2018 Dernière intervention - 19 févr. 2018 à 10:54
0
Utile
C'est bon ! L'astuce du vpn marche ! Manque plus que vous me dites comment faire ce que vous me demandez pour le port ^^.
Commenter la réponse de squaria
mamiemando 28364 Messages postés jeudi 12 mai 2005Date d'inscriptionModérateurStatut 24 mai 2018 Dernière intervention - 19 févr. 2018 à 11:16
0
Utile
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.
squaria 80 Messages postés dimanche 6 novembre 2016Date d'inscription 19 février 2018 Dernière intervention - 19 févr. 2018 à 11:43
Ha mais oui ! Je suis désolé ! Je suis vraiment idiot je viens de comprendre merci ^^.
squaria 80 Messages postés dimanche 6 novembre 2016Date d'inscription 19 février 2018 Dernière intervention - 19 févr. 2018 à 21:03
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.
mamiemando 28364 Messages postés jeudi 12 mai 2005Date d'inscriptionModérateurStatut 24 mai 2018 Dernière intervention - 20 févr. 2018 à 10:12
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.
Commenter la réponse de mamiemando