web-dev-qa-db-fra.com

ssh: Impossible de résoudre le nom d'hôte [nom d'hôte]: nom_noeud ou nom_serveur fourni ou inconnu

J'essaie de configurer un VPN avec un Raspberry Pi, et la première étape consiste à acquérir la capacité de ssh dans l'appareil de l'extérieur de mon réseau local. Pour une raison quelconque, cela s'avère impossible et je ne sais pas du tout pourquoi. Lorsque j'essaie de ssh sur mon serveur avec user@hostname, j'obtiens l'erreur:

ssh: Could not resolve hostname [hostname]: nodename nor servname provided, or not known 

Cependant, je peux me connecter au serveur avec,

ssh user@[local IP]

Le serveur est un modèle B de Raspberry Pi exécutant la dernière distribution de Raspbian et la machine avec laquelle je tente de me connecter est un Macbook Pro exécutant Mavericks. ssh était activé sur le Raspberry Pi lorsque j'ai configuré Raspbian.

J'ai parcouru Stack Overflow pendant des heures en essayant de voir si quelqu'un d'autre avait ce problème et je n'ai rien trouvé. Chaque tutoriel ssh que je trouve indique que je devrais pouvoir le configurer sur la machine distante et me connecter à partir de n'importe où en utilisant un nom d'hôte, et je n'ai jamais eu de succès avec cela.

105
qaxf6auux

Récemment je suis tombé sur le même problème. J'ai été capable de ssh à ma pi sur mon réseau, mais pas de l'extérieur de mon réseau domestique.

J'avais déjà:

  • sSH installé et testé sur mon réseau domestique.
  • Définir une adresse IP statique pour mon pi.
  • Configurez un service DNS dynamique et installez le logiciel sur mon pi. J'ai référencé ces instructions pour configurer l'ip statique, et il existe de nombreuses autres ressources d'instruction.

De plus, j'ai configuré le transfert de port sur mon routeur pour l'hébergement d'un site Web et j'avais même le port de transfert de port 22 sur l'adresse IP statique de mon pi pour ssh, mais j'ai laissé le champ vide dans lequel vous spécifiez l'application pour laquelle vous effectuez la redirection de port. le routeur. Quoi qu'il en soit, j'ai ajouté 'ssh' dans ce champ et, VOILA! Une connexion ssh en état de marche de n'importe où vers mon pi.

Je vais écrire les paramètres de redirection de port de mon routeur.

(ApplicationTextField) _ssh (port externe) _22 (port interne) _22 (protocal) _les deux (adresse IP) _192.168.1. ### (activé) _checkBox

Les paramètres de transfert de port peuvent toutefois être différents pour différents routeurs. Consultez donc les instructions relatives à votre routeur.

Maintenant, quand je suis en dehors de mon réseau domestique, je me connecte à mon pi en tapant:

ssh pi @ [nom d'hôte]

Ensuite, je peux entrer mon mot de passe et me connecter.

23
ekwaters

J'ai eu le même problème de connexion à une machine distante. mais j'ai réussi à me connecter comme ci-dessous:

ssh -p 22 myName@hostname

ou:

ssh -l myName -p 22 hostname
82
tokhi

Si vous êtes sur Mac, le redémarrage du répondeur DNS a résolu le problème pour moi.

Sudo killall -HUP mDNSResponder
76
Mo Bitar

Si vous avez besoin d'accéder à votre VPN depuis n'importe où dans le monde, vous devez enregistrer un nom de domaine et le faire pointer sur l'adresse IP publique de votre passerelle VPN/réseau. Vous pouvez également utiliser un service DNS dynamique pour connecter un nom d’hôte à votre adresse IP publique.

Si vous avez seulement besoin de ssh de votre Mac sur votre Raspberry dans votre réseau local, procédez comme suit: Sur votre Mac, éditez /etc/hosts. En supposant que le Raspberry ait les noms d’hôte "berry" et ip "172.16.0.100", ajoutez une ligne:

# ip           hostname
172.16.0.100   berry

Maintenant: ssh user@berry devrait fonctionner.

9
grebneke

J'ai eu le même problème, que j'ai pu résoudre en ajoutant un .local au nom d'hôte, ala ssh [email protected]

7
horcle_buzz

Si votre commande est:

$ ssh -p 1122  path/to/pemfile user@[hostip/hostname]

Vous ferez également face à la même erreur

ssh: Could not resolve hostname [hostname]: nodename nor servname provided, or not known

lorsque vous manquez l'option -i /path/to/pemfile de ssh

Donc, Command devrait être:

$ ssh -p 1122 -i path/to/pemfile user@[hostip/hostname]
4
karthik vee

J'ai eu le même problème: l'adresse indiquée dans Préférences -> Partage -> Connexion à distance ne fonctionnait pas et j'ai reçu un '... nom de noeud ou nom de serveur fourni, ou inconnu.' Cependant, lorsque j'ai modifié manuellement les paramètres (dans Préférences -> Partage -> Connexion à distance -> modifier) ​​et activé "Utiliser le nom d'hôte global dynamique", cela a soudainement fonctionné.

enter image description here

enter image description here

3
user2489252

Je devais me connecter au serveur Amazon distant

ssh -i ~/.ssh/test.pem -fN -L 5555:localhost:5678 [email protected]

Je recevais l'erreur suivante.

ssh: Could not resolve hostname <hostname.com>: nodename nor servname provided, or not known

Solution pour Mac OSX

Faire un ping sur l'hôte a résolu le problème. J'utilise Mac OSX Seirra.

ping hostname.com

Maintenant, le problème est résolu. Capable de se connecter au serveur.

Note : J'ai essayé cette solution aussi. Mais ça n'a pas marché. Ensuite, ping a résolu le problème.

3
mythicalcoder

Il semble que certaines applications ne lisent pas /etc/hosts symlinked (du moins sur macOS), vous devez le lier de manière permanente.

ln /path/to/hosts_file /etc/hosts

2
Andrei Vaduva

Cela m'arrivait lorsque j'essayais d'accéder à Github. Le problème est que j'avais l'habitude de faire:

git remote add <xyz> ssh:\\[email protected]......

Toutefois, si vous rencontrez cette erreur de la question, la suppression de ssh:\\ peut résoudre le problème. Cela l'a résolu pour moi!

Notez que vous devrez faire un git remote remove <xyz> et rajouter l'URL distante sans ssh:\\.

1
Monkpit

Essayez ceci, en considérant vos ports autorisés. Stockez votre fichier .pem dans votre dossier Documents par exemple.

Pour y accéder maintenant, tout ce que vous avez à faire est de cd [directory], ce qui vous permet d'accéder au répertoire du fichier attribué. Vous pouvez d’abord taper ls pour répertorier le contenu du répertoire dans lequel vous vous trouvez:

ls
cd /Documents
chmod 400 mycertificate.pem
ssh -i "mycertificate.pem" [email protected] -p 80
0
user4294909

Pour moi, le problème était une faute de frappe sur mon fichier ~/.ssh/config. J'avais:

Host host1:
  HostName 10.10.1.1
  User jlyonsmith

Le problème était le : après le Host1 - il ne devrait pas être là. ssh ne donne aucun avertissement pour les fautes de frappe dans le fichier ~/.ssh/config. Lorsqu'il ne trouve pas Host1, il recherche la machine localement, ne le trouve pas et affiche le message d'erreur cryptique.

0
jlyonsmith