# Problème de connexion SSH



## Naruhiko315 (26 Octobre 2013)

Bonjour,

J'ai récemment fait la mise à jour de OS X Mountain Lion vers OS X Mavericks, et depuis j'ai eu un problème avec ma connexion SSH vers mon serveur distant.

J'utilise l'outil proposé par Apple (terminal.app -> shell -> Nouvelle connexion a distance), j'y rentre l'adresse IP du serveur ainsi que le nom d'utilisateur avant de cliquer sur "Se connecter".

Pendant un long moment, j'ai juste une fenêtre du terminal qui s'ouvre avec le curseur qui clignote. C'est seulement après quelques secondes que un message d'erreur s'affiche : "
ssh: connect to host **.**.**.*** port 22: Operation timed out

[Opération terminée]"

Quelqu'un aurait-il une petite idée d'où cela peut provenir ? Je suis vraiment à court d'idées, j'ai déjà essayé avec d'autres programmes de connexion SHH (fugu, PuTTy, Cyberuck,..) :/

Merci d'avance !

Edit : Nouveau message d'erreur :
ssh_exchange_identification: read: Operation timed out


----------



## Naruhiko315 (27 Octobre 2013)

Personne n'a d'idées ?


----------



## Larme (27 Octobre 2013)

Tu ping ton serveur ?
Le service SSH est monté ?


----------



## Naruhiko315 (27 Octobre 2013)

Intéressant, si tu m'expliques comment faire cela, je pourrai te répondre correctement.


----------



## Larme (27 Octobre 2013)

Dans le terminal :

```
ping adresseIPDuServeur
```


----------



## Naruhiko315 (27 Octobre 2013)

Oui, je l'ai fais et j'ai ceci : 
	
	



```
PING **.**.**.*** (**.**.**.***): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
Request timeout for icmp_seq 4
Request timeout for icmp_seq 5
Request timeout for icmp_seq 6
Request timeout for icmp_seq 7
Request timeout for icmp_seq 8
Request timeout for icmp_seq 9
Request timeout for icmp_seq 10
Request timeout for icmp_seq 11
Request timeout for icmp_seq 12
Request timeout for icmp_seq 13
Request timeout for icmp_seq 14
Request timeout for icmp_seq 15
Request timeout for icmp_seq 16
Request timeout for icmp_seq 17
Request timeout for icmp_seq 18
##############
--- **.**.**.*** ping statistics ---
20 packets transmitted, 0 packets received, 100.0% packet loss
```

(############## = 328 requêtes effectuées, et ça continue à l'infini (crtl + c pour stopper))

Edit:
En essayant avec un VPN j'ai ceci : 
	
	



```
PING **.**.**.*** (37.59.54.172): 56 data bytes
64 bytes from**.**.**.***: icmp_seq=0 ttl=51 time=231.747 ms
64 bytes from**.**.**.***: icmp_seq=1 ttl=51 time=228.515 ms
64 bytes from**.**.**.***: icmp_seq=2 ttl=51 time=226.430 ms
64 bytes from**.**.**.***: icmp_seq=3 ttl=51 time=225.961 ms
64 bytes from**.**.**.***: icmp_seq=4 ttl=51 time=224.176 ms
64 bytes from**.**.**.***: icmp_seq=5 ttl=51 time=223.795 ms
64 bytes from**.**.**.***: icmp_seq=6 ttl=51 time=228.010 ms
64 bytes from**.**.**.***: icmp_seq=7 ttl=51 time=222.874 ms
64 bytes from**.**.**.***: icmp_seq=8 ttl=51 time=229.111 ms
64 bytes from**.**.**.***: icmp_seq=9 ttl=51 time=226.019 ms
64 bytes from**.**.**.***: icmp_seq=10 ttl=51 time=224.374 ms
64 bytes from**.**.**.***: icmp_seq=11 ttl=51 time=226.940 ms
64 bytes from**.**.**.***: icmp_seq=12 ttl=51 time=227.232 ms
64 bytes from**.**.**.***: icmp_seq=13 ttl=51 time=226.951 ms
64 bytes from**.**.**.***: icmp_seq=14 ttl=51 time=225.448 ms
64 bytes from**.**.**.***: icmp_seq=15 ttl=51 time=224.411 ms
##############
--- **.**.**.*** ping statistics ---
78 packets transmitted, 77 packets received, 1.3% packet loss
round-trip min/avg/max/stddev = 222.874/228.230/273.327/6.411 ms
```

(############## = ctrl + c afin de stopper la commande)
Cependant la connexion SSH ne se fait toujours pas, il y a un le curseur qui clignote ensuite le message d'erreur : "ssh_exchange_identification: read: Operation timed out

[Opération terminée]"


----------



## Larme (27 Octobre 2013)

Donc dans le premier cas du ping, tu n'arrivais pas à joindre le serveur. Du coup, faut même pas penser à essayer de faire un ssh...
Il faudrait que tu fasses donc un ssh via ton VPN.


----------



## Naruhiko315 (27 Octobre 2013)

D'accord, cependant même avec un VPN, je n'arrive pas à me connecter au serveur via ssh, normal ?


----------



## Larme (27 Octobre 2013)

Peut-être que le service SSH a été désactivé...


----------



## Naruhiko315 (27 Octobre 2013)

Aurais-tu une idée de comment le réactiver ?


----------



## Naruhiko315 (28 Octobre 2013)

Au cas où mon message aurait été oublié ^^


----------



## Larme (28 Octobre 2013)

Sans accès physique à la machine, je ne pense pas que ce soit possible...
À moins d'avoir un autre moyen d'accès à distance à la machine fonctionnel (_telnet_ ?)


----------



## Naruhiko315 (28 Octobre 2013)

Cela voudrait dire que ça vient d'une erreur de la machine et non de mon mac ?
D'ailleurs, du jour au lendemain, sans VPN, j'ai le même résultat que quand il est activé.


----------



## Naruhiko315 (29 Octobre 2013)

Croyez-vous qu'en remettant la machine à zero, je puisse faire mes connexions SSH ?


----------



## Naruhiko315 (30 Octobre 2013)

Je remonte un peu mon sujet ^^


----------



## drs (30 Octobre 2013)

bon alors....

Tu pingues ton serveur au travers d'un VPN. Il n'est donc accessible que par ce biais.
Essaye d'activer ton vpn, et ensuite de faire ton SSH, ca devrait fonctionner.

Si ce n'est pas le cas:
- soit le SSH est désactivé sur le serveur (il faut donc avoir un accès au serveur pour l'activer). Il serait aussi judicieux d'essayer de faire un SSH en local (sur le même réseau)
- soit le serveur est en vrac (il serait donc bien de le redémarrer)
- soit le SSH au travers du VPN est interdit par un pare feu (facile si c'est toi qui gère le pare feu)


----------



## Naruhiko315 (30 Octobre 2013)

Merci pour ta réponse !
Comme j'ai dis précédemment, du jour au lendemain j'ai réussi sans VPN à avoir la même interface de ping que avec un VPN (donc la "normale").

Cependant, avec ou sans VPN (ce qui est censé marché maintenant), ça ne fonctionne pas. Le SSH via local fonctionne correctement et donc pour la dernière option, rien qui bloque niveau par-feu.

Le problème vient donc du serveur, c'est bien ça ?


----------



## drs (30 Octobre 2013)

ton serveur a une ip publique ou privée?
Il y a une redirection quelque part (ton serveur serait en adressage privé et une box quelconque fait une redirection)?
Est ce que le ssh se fait bien sur le port 22?

Il faudrait nous en dire un peu plus sur l'architecture réseau entre chez toi et ton serveur (en changeant les adresses ip si tu ne veux pas qu'elles apparaissent ici)


----------



## Polo35230 (31 Octobre 2013)

drs a dit:


> Il faudrait nous en dire un peu plus sur l'architecture réseau entre chez toi et ton serveur (en changeant les adresses ip si tu ne veux pas qu'elles apparaissent ici)


Oui, c'est vrai qu'on a pas beaucoup d'éléments...
Les traces de tes deux pings ont été faits avec l'adresse IP privée du serveur (en 10.x.y.z  ou 192.168. x.y ou 172.16.x.y) ?
Si c'est le cas, les résultats sont normaux. Le VPN est donc OK, et l'adresse IP du serveur est joignable via le VPN.



Naruhiko315 a dit:


> ssh_exchange_identification: read: Operation timed out


Le pb est au niveau authentification ssh (via internet).
Il faudrait vérifier que le port 22 du serveur est joignable via le VPN, et SANS passer par SSH.
Il faut donc lancer le VPN, puis dans une fenêtre Terminal, taper la commande:
telnet AdresseIpPrivéeDuServeur 22   (si c'est bon, on a un message "Connected to....)

Après, (si le telnet est bon), on eut essayer une connexion ssh en tapant la commande:
ssh AdresseIpPrivéeDuServeur
En fonction du type d'authentification SSH (par mot de passe ou par clé), en principe, le serveur renverra quelque chose, soit une demande pour entrer un identifiant et un mot de passe, soit sa clé publique.
Quand on en sera là, on aura des pistes...

En dernier, il peut aussi y avoir un pb de MTU, car il y a une double encapsulation (SSH dans VPN). C'est un peu comme le gars qui met des bretelles car il ne fait pas confiance à sa ceinture...


----------



## Naruhiko315 (31 Octobre 2013)

Merci pour vos réponses !

En bref, le serveur auquel j'essaye d'accéder est un serveur de jeu (minecraft) ou je suis administrateur. Le fondateur m'a donné l'accès à son serveur et m'a montré comment utiliser les connexion ssh en me donnant l'adresse ip 37.59.**.*** , le mot de passe , l'utilisateur ainsi que le port qui est bel et bien 22 . Il n'y a aucune redirection et c'est un serveur publique.

Ca fonctionnait très bien, jusque quand j'ai fais la mise à jour de OS X Mountain Lion vers OS X Maverick...

Ensuite, je précise qu'avec VPN ou non, j'ai au final le même résultat :
J'ai tapé donc dans mon terminal : telnet 37.59.**.*** 22 et j'ai eu effectivement : 
	
	



```
Trying 37.59.**.***...
Connected to ns*******.ovh.net.
Escape character is '^]'.
```
 Directement après j'ai essaye ssh 37.59.**.*** et j'ai eu : 
	
	



```
Connection closed by foreign host.
```
J'ai essayé également ssh user@37.59.**.*** et j'ai eu 
	
	



```
Connection closed by foreign host.
```
Et enfin directement dans le terminal sans la commande telnet avant j'ai 
	
	



```
ssh_exchange_identification: read: Operation timed out
```


----------



## Polo35230 (31 Octobre 2013)

Alors, le telnet montre que tu accroches bien le serveur SSH, et la commande ssh que tu vas bien en SSH jusqu'au serveur, mais... qu'il te jette.
La chaîne réseau est donc bonne.
Le truc que j'ai du mal à comprendre, c'est à quoi sert le VPN.
A partir du moment où tu utilises les adresses IP publiques d'un serveur public, il ne sert à rien
Sans lancer le VPN, les commandes telnet et ssh donnent le même résultat?

Ça bloque sur l'authentification.
Tu es sûr de l'identifiant est du mot de passe?

[QUOTE[/code] Directement après j'ai essaye ssh 37.59.**.*** et j'ai eu : 
	
	



```
Connection closed by foreign host.
```
[/QUOTE]
Mais devant cette ligne, il n'y avait pas autre chose?

Si tu es partant, tu pourrais faire une trace de connexion ssh (sans lancer ton VPN)
Dans une fenêtre Terminal:
sudo tcpdump -i en0 -n -c 50 host AdresseIpDuServeur  (en0 si tu es en ethernet ou en1 si tu es en wifi)
Puis tu fais une connexion ssh
Dans la fenêtre terminal, ça va défiler (50 lignes max). On aura peut-être des indications...


----------



## drs (1 Novembre 2013)

donc pas besoin de VPN, car ton serveur est accessible depuis une ip publique.

Le mieux serait d'avoir un accès au serveur pour tester en local.


----------

