Frage ssh: Hostname [Hostname] konnte nicht aufgelöst werden: Knotenname oder Servenname wurde angegeben oder nicht bekannt


Ich versuche, ein VPN mit einem Raspberry Pi einzurichten, und der erste Schritt ist es, die Fähigkeit zu erwerben ssh in das Gerät von außerhalb meines lokalen Netzwerks. Aus irgendeinem Grund erweist sich das als unmöglich und ich habe nicht die geringste Ahnung warum. Wenn ich es versuche ssh in meinen Server mit user@hostname, Ich bekomme den Fehler:

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

Ich kann mich jedoch mit dem Server einloggen,

ssh user@[local IP]

Der Server ist ein Raspberry Pi Model B, auf dem die neueste Distribution von Raspbian läuft, und der Rechner, mit dem ich mich verbinden möchte, ist ein Macbook Pro mit Mavericks. ssh wurde auf dem Raspberry Pi aktiviert, als ich Raspbian eingerichtet habe.

Ich habe Stack Overflow stundenlang untersucht, um zu sehen, ob jemand anderes dieses Problem hatte und ich nichts gefunden habe. Jeden ssh Tutorial Ich finde, sagt, dass ich nur in der Lage sein sollte, es auf dem Remote-Rechner einrichten und von überall mit einem Hostnamen anmelden, und ich hatte nie Erfolg damit.


76
2017-11-27 20:16


Ursprung


Antworten:


Kürzlich stieß ich auf das gleiche Problem. Ich konnte zu meinem pi in meinem Netzwerk ssh, aber nicht von außerhalb meines Heimnetzwerks.

Ich habe schon:

  • installiert und getestet ssh in meinem Heimnetzwerk.
  • Setze eine statische IP für meinen pi.
  • Richten Sie einen dynamischen DNS-Dienst ein und installieren Sie die Software auf meinem PI. Ich habe auf diese Bezug genommen Anleitung zum Einrichten der statischen IP, und es gibt viele weitere Unterrichtsressourcen da draußen.

Außerdem habe ich Port forward auf meinem Router für das Hosting einer Website eingerichtet und ich hatte sogar Port 22 an die statische IP von psi für ssh weiterzuleiten, aber ich ließ das Feld leer, wo Sie die Anwendung angeben, für die Sie die Portweiterleitung durchführen der Router. Jedenfalls habe ich 'ssh' in dieses Feld eingefügt und, VOILA! Eine funktionierende SSH-Verbindung von überall zu meinem Pi.

Ich schreibe die Portweiterleitungseinstellungen meines Routers aus.

(ApplicationTextField) _ssh (externer Port) _22 (Interner Port) _22 (Protocal) _Both (An IP-Adresse) _192.168.1. ### (Enabled) _checkBox

Die Einstellungen für die Portweiterleitung können jedoch für verschiedene Router unterschiedlich sein. Lesen Sie daher die Anweisungen für Ihren Router nach.

Jetzt, wenn ich außerhalb meines Heimnetzwerkes bin, verbinde ich mich mit meinem pi, indem ich Folgendes eingabe:

ssh pi @ [Hostname]

Dann kann ich mein Passwort eingeben und verbinden.


20
2018-02-02 06:33



Ich hatte das gleiche Problem mit einer entfernten Maschine zu verbinden. aber ich habe es geschafft, mich wie folgt anzumelden:

ssh -p 22 myName@hostname

oder:

ssh -l myName -p 22 hostname

65
2017-08-18 09:43



Wenn Sie auf dem Mac sind, wurde das Problem durch einen Neustart des DNS-Responders behoben.

sudo killall -HUP mDNSResponder

42
2017-11-23 01:14



Wenn Sie von überall auf der Welt Zugriff auf Ihr VPN benötigen, müssen Sie einen Domänennamen registrieren und auf die öffentliche IP-Adresse Ihres VPN / Netzwerk-Gateways verweisen. Sie können auch einen dynamischen DNS-Dienst verwenden, um einen Hostnamen mit Ihrer öffentlichen IP-Adresse zu verbinden.

Wenn Sie nur ssh von Ihrem Mac zu Ihrem Raspberry benötigen in Ihrem lokalen Netzwerk, mach das: Auf deinem Mac, bearbeite /etc/hosts. Angenommen, der Raspberry hat den Hostnamen "berry" und ip "172.16.0.100", fügen Sie eine Zeile hinzu:

# ip           hostname
172.16.0.100   berry

Jetzt: ssh user@berrysollte arbeiten.


7
2017-11-28 11:51



Ich hatte das gleiche Problem, das ich beheben konnte, indem ich einen .local zum Hostnamen hinzufügte, ala ssh user@hostname.local


5
2017-11-03 18:55



Ich hatte das gleiche Problem: Die Adresse, die unter Einstellungen -> Freigabe -> Remote Login angezeigt wurde, funktionierte nicht und ich bekam einen '... Knotenname noch Servenname zur Verfügung gestellt, oder nicht bekannt'. Wenn ich jedoch die Einstellungen manuell bearbeitet habe (unter Einstellungen -> Freigabe -> Remote Login -> Bearbeiten) und "Dynamischen globalen Hostnamen verwenden" aktiviert habe, funktionierte es plötzlich.

enter image description here

enter image description here


2
2017-07-22 02:15



Wenn Ihr Befehl lautet:

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

Sie werden auch den gleichen Fehler haben

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

wenn du die Option vermisst -i /path/to/pemfile von ssh

So sollte Befehl sein:

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

2
2017-12-10 19:41



Dies geschah mir, als ich versuchte Github zu erreichen. Das Problem ist, dass ich die Gewohnheit hatte:

git remote add <xyz> ssh:\\git@github.com......

Aber, wenn Sie diesen Fehler von der Frage haben, entfernen ssh:\\ kann das Problem beheben. Es hat es für mich gelöst!

Beachten Sie, dass Sie ein tun müssen git remote remove <xyz> und fügen Sie die Remote-URL ohne erneut hinzu ssh:\\.


1
2018-05-20 17:10