ssh: Kon hostnaam [hostnaam] niet omzetten: nodename noch servname opgegeven, of niet bekend [gesloten]

Ik probeer een VPN op te zetten met een Raspberry Pi en de eerste stap is het verkrijgen van de mogelijkheid om van buiten mijn lokale netwerk ssh naar het apparaat te sturen. Om wat voor reden dan ook, dit blijkt onmogelijk te zijn en ik heb geen flauw idee waarom. Wanneer ik probeer te ssh naar mijn server met user@hostname, krijg ik de foutmelding:

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

Ik kan echter wel inloggen op de server met,

ssh user@[local IP]

De server is een Raspberry Pi Model B met de nieuwste distributie van Raspbian en de machine waarmee ik verbinding probeer te maken is een Macbook Pro met Mavericks. ssh was ingeschakeld op de Raspberry Pi toen ik Raspbian instelde.

Ik heb Stack Overflow uren doorgenomen om te zien of iemand anders dit probleem had en ik heb niets gevonden. Elke ssh-zelfstudie die ik vind, zegt dat ik het gewoon op de externe computer moet kunnen instellen en overal moet inloggen met een hostnaam, en daar heb ik nooit succes mee gehad.


Antwoord 1, autoriteit 100%

Onlangs kwam ik hetzelfde probleem tegen. Ik kon ssh naar mijn pi op mijn netwerk, maar niet van buiten mijn thuisnetwerk.

Ik had al:

  • ssh geïnstalleerd en getest op mijn thuisnetwerk.
  • Stel een statisch IP-adres in voor mijn pi.
  • Stel een dynamische DNS-service in en installeer de software op mijn pi.
    Ik heb verwezen naar deze instructies voor het instellen het statische ip, en er zijn veel meer leermiddelen die er zijn.

Ook heb ik port forward op mijn router ingesteld voor het hosten van een website en ik had zelfs port forward poort 22 naar het statische IP-adres van mijn pi voor ssh, maar ik liet het veld leeg waar je de toepassing specificeert die je de poort uitvoert forwarding voor op de router. Hoe dan ook, ik heb ‘ssh’ in dit veld toegevoegd en, VOILA! Een werkende ssh-verbinding van overal naar mijn pi.

Ik zal de port forwarding-instellingen van mijn router wegschrijven.

(ApplicationTextField)_ssh     (externe poort)_22     (Interne poort)_22     (Protocal)_Beide     (Naar IP-adres)_192.168.1.###     (Ingeschakeld)_checkBox

De instellingen voor poortdoorschakeling kunnen echter verschillen voor verschillende routers, dus zoek de routebeschrijving voor uw router op.

Als ik nu buiten mijn thuisnetwerk ben, maak ik verbinding met mijn pi door te typen:

ssh pi@[hostnaam]

Dan kan ik mijn wachtwoord invoeren en verbinding maken.


Antwoord 2, autoriteit 91%

Als je een Mac gebruikt, heeft het herstarten van de DNS-responder het probleem voor mij opgelost.

sudo killall -HUP mDNSResponder

Antwoord 3, autoriteit 91%

Ik had hetzelfde probleem bij het verbinden met een externe computer. maar het is me gelukt om als volgt in te loggen:

ssh -p 22 myName@hostname

of:

ssh -l myName -p 22 hostname

Antwoord 4, autoriteit 45%

In mijn geval probeerde ik ssh op deze manier

ssh [email protected]:22 

wanneer het juiste formaat is:

ssh [email protected] -p 22 

Antwoord 5, autoriteit 42%

Als je overal ter wereld toegang tot je VPN nodig hebt, moet je een domeinnaam registreren en deze laten verwijzen naar het openbare IP-adres van je VPN/netwerkgateway. U kunt ook een dynamische DNS-service gebruiken om een ​​hostnaam aan uw openbare IP-adres te koppelen.

Als je alleen van je Mac naar je Raspberry binnen je lokale netwerk hoeft te sshen, doe dan dit: Op je Mac, bewerk /etc/hosts. Ervan uitgaande dat de Raspberry hostnaam “berry” en ip “172.16.0.100” heeft, voegt u één regel toe:

# ip           hostname
172.16.0.100   berry

Nu: ssh user@berry zou moeten werken.


Antwoord 6, autoriteit 29%

Ik had hetzelfde probleem, dat ik kon oplossen door een .local aan de hostnaam toe te voegen, ala ssh [email protected]


Antwoord 7, autoriteit 16%

Als uw opdracht is:

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

U krijgt ook te maken met dezelfde fout

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

wanneer je de optie -i /path/to/pemfile van ssh mist

Dus het commando zou moeten zijn:

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

Antwoord 8, autoriteit 13%

Ik had hetzelfde probleem: het adres dat wordt weergegeven in Voorkeuren -> Delen -> Remote Login werkte niet en ik kreeg een ‘… nodename noch servname verstrekt, of niet bekend’. Toen ik echter de instellingen handmatig aanpaste (in Voorkeuren -> Delen -> Inloggen op afstand -> bewerken) en “Gebruik dynamische globale hostnaam” inschakelde, werkte het plotseling.

voer hier de afbeeldingsbeschrijving in

voer hier de afbeeldingsbeschrijving in


Antwoord 9, autoriteit 13%

Voor mij was het probleem een ​​typefout in mijn ~/.ssh/config-bestand. Ik had:

Host host1:
  HostName 10.10.1.1
  User jlyonsmith

Het probleem was de : na de host1 – het zou daar niet moeten zijn. ssh geeft geen waarschuwingen voor typefouten in het bestand ~/.ssh/config. Wanneer het host1 niet kan vinden, zoekt het lokaal naar de machine, kan het niet vinden en drukt het cryptische foutbericht af.


Antwoord 10, autoriteit 10%

Ik moest verbinding maken met een externe Amazon-server

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

Ik kreeg de volgende foutmelding.

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

Oplossing voor Mac OSX

Pinging van de host loste het probleem op. Ik gebruik Mac OSX Seirra.

ping hostname.com

Nu probleem opgelost. Kan verbinding maken met de server.

Opmerking: ik heb deze oplossing ook geprobeerd. Maar het lukte niet. Daarna loste ping het probleem op.


Antwoord 11, autoriteit 10%

Het lijkt erop dat sommige apps gesymlinkte /etc/hosts niet kunnen lezen (minstens op macOS), je moet het hardlinken.

ln /path/to/hosts_file /etc/hosts


Antwoord 12, autoriteit 6%

Dit gebeurde bij mij toen ik Github probeerde te openen. Het probleem is dat ik de gewoonte had om het volgende te doen:

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

Maar als u deze foutmelding krijgt, kan het probleem worden opgelost door ssh:\\ te verwijderen. Het heeft het voor mij opgelost!

Merk op dat je een git remote remove <xyz> moet doen en de remote url opnieuw moet toevoegen zonder ssh:\\.


Antwoord 13

Probeer dit, rekening houdend met uw toegestane poorten. Bewaar uw .pem-bestand bijvoorbeeld in uw Documents-map.

Om er nu toegang toe te krijgen, hoef je alleen maar cd [directory] te doen, waarmee je naar de directory van het toegewezen bestand gaat. U kunt eerst ls typen om de inhoud van de directory weer te geven waarin u zich momenteel bevindt:

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

Antwoord 14

Ik kreeg deze fout door een .yml-inventarisbestand in ansible te gebruiken dat niet correct was geformatteerd. Voor meerdere hosts in een groep moet elke hostnaam eindigen op een harde dubbele punt “:”. Anders voert ansible de hostnamen samen uit en produceert deze ssh-fout.


Antwoord 15

Ik had hetzelfde probleem na het testen van Visual Studio Code met remote-ssh-plug-in. Tijdens het instellen van de remote host vroeg de software me waar ik het configuratiebestand moest opslaan. Ik dacht dat een goede plaats de ‘.ssh-map’ (Linux-systeem) was, omdat het een ssh-remote configuratie was.
Het bleek een slecht idee. De volgende dag, na een nieuwe start van de computer, kon ik niet inloggen via ssh op de externe server. De foutmelding was ‘Kan hostnaam niet vinden:……. Naam of service niet bekend’.
Wat er gebeurde, was dat de verwijdering van VSC dit configuratiebestand niet verwijderde en natuurlijk het gebruikelijke proces verstoorde. Een ‘rm’ later was het probleem opgelost (ik heb dit configuratiebestand verwijderd).


Antwoord 16

Ik heb exact dezelfde configuratie. Dit antwoord heeft specifiek betrekking op het verbinden met een Raspberry Pi vanuit het lokale netwerk (niet van buitenaf). Ik heb een raspberry pi ssh-server en een macbook pro, beide verbonden met een router. Op een testrouter maakt mijn mac perfect verbinding als ik ssh danran@mypiserver gebruik, maar als ik ssh danran@mypiserver op mijn hoofdrouter gebruik, krijg ik de foutmelding

ssh: Kon hostnaam [hostnaam] niet oplossen: nodename noch servname
verstrekt, of niet bekend

Net zoals je hebt gekregen. Het lijkt erop dat de oplossing voor mij in ieder geval was om een ​​.local extensie toe te voegen aan de hostnaam wanneer ik verbinding maak vanaf mijn mac via ssh.

Dus om dit op te lossen, heb ik het commando ssh [email protected] gebruikt (vergeet niet om de “danran” te vervangen door je gebruikersnaam en de “mypiserver” door je hostnaam) in plaats van ssh danran@mypiserver.

Voor iedereen die dit leest, voeg een .local toe als achtervoegsel aan uw hostnaam waarmee u verbinding probeert te maken. Dat zou het probleem op een lokaal netwerk moeten oplossen.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

17 + six =

Other episodes