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.
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à:
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.
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
Si vous êtes sur Mac, le redémarrage du répondeur DNS a résolu le problème pour moi.
Sudo killall -HUP mDNSResponder
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.
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]
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]
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é.
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
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.
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
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:\\
.
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
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.