program story

ssh : 호스트 이름 [hostname]을 확인할 수 없습니다 : nodename 또는 servname이 제공되었거나 알 수 없음

inputbox 2020. 8. 9. 10:24
반응형

ssh : 호스트 이름 [hostname]을 확인할 수 없습니다 : nodename 또는 servname이 제공되었거나 알 수 없음


Raspberry Pi로 VPN을 설정하려고하는데, 첫 번째 단계는 ssh로컬 네트워크 외부에서 장치에 접속할 수있는 기능을 얻는 것 입니다. 이유가 무엇이든, 이것은 불가능한 것으로 입증되었으며 그 이유를 조금도 알지 못합니다. 를 사용 ssh하여 내 서버에 접속 하려고 user@hostname하면 오류가 발생합니다.

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

그러나 다음을 사용하여 서버에 로그인 할 수 있습니다.

ssh user@[local IP]

서버는 Raspbian의 최신 배포판을 실행하는 Raspberry Pi Model B이고 연결하려는 컴퓨터는 Mavericks를 실행하는 Macbook Pro입니다. sshRaspbian을 설정할 때 Raspberry Pi에서 활성화되었습니다.

나는 다른 사람 이이 문제가 있는지 확인하려고 몇 시간 동안 Stack Overflow를 숙독했지만 아무것도 찾지 못했습니다. ssh내가 찾은 모든 튜토리얼은 원격 컴퓨터에서 설정하고 호스트 이름을 사용하여 어디서나 로그인 할 수 있어야한다고 말하며 성공한 적이 없습니다.


최근에 나는 같은 문제를 만났습니다. 내 네트워크의 파이에 ssh 할 수 있었지만 홈 네트워크 외부에서는 불가능했습니다.

나는 이미 :

  • 내 홈 네트워크에 ssh를 설치하고 테스트했습니다.
  • 내 파이에 고정 IP를 설정하십시오.
  • 동적 DNS 서비스를 설정하고 내 pi에 소프트웨어를 설치했습니다. 정적 IP를 설정하기 위해이 지침참조 했으며 더 많은 교육 리소스가 있습니다.

또한 웹 사이트를 호스팅하기 위해 라우터에 포트 포워드를 설정했으며 ssh에 대한 pi의 고정 IP에 포트 포워드 포트 22도 있었지만 포트 포워딩을 수행하는 응용 프로그램을 지정하는 필드는 비워 두었습니다. 라우터. 어쨌든이 필드에 'ssh'를 추가하고 VOILA! 어디서나 내 파이로 작동하는 ssh 연결.

라우터의 포트 포워딩 설정을 작성하겠습니다.

(ApplicationTextField) _ssh (외부 포트) _22 (내부 포트) _22 (프로토 컬) _Both (To IP 주소) _192.168.1. ### (사용) _checkBox

포트 전달 설정은 라우터마다 다를 수 있으므로 라우터에 대한 지침을 찾아보십시오.

이제 홈 네트워크 외부에있을 때 다음을 입력하여 파이에 연결합니다.

ssh pi @ [호스트 이름]

그러면 암호를 입력하고 연결할 수 있습니다.


원격 컴퓨터에 연결하는 데 동일한 문제가 발생했습니다. 하지만 다음과 같이 로그인했습니다.

ssh -p 22 myName@hostname

또는:

ssh -l myName -p 22 hostname

Mac을 사용하는 경우 DNS 응답자를 다시 시작하면 문제가 해결되었습니다.

sudo killall -HUP mDNSResponder

전 세계 어디에서나 VPN에 액세스해야하는 경우 도메인 이름을 등록하고 VPN / 네트워크 게이트웨이의 공용 IP 주소를 가리켜 야합니다. 동적 DNS 서비스를 사용하여 호스트 이름을 공용 IP에 연결할 수도 있습니다.

Mac에서 로컬 네트워크 내부의 Raspberry로만 ssh해야하는 경우 다음 과 같이하십시오. Mac에서 /etc/hosts. Raspberry에 호스트 이름 "berry"및 ip "172.16.0.100"이 있다고 가정하고 한 줄을 추가합니다.

# ip           hostname
172.16.0.100   berry

이제 : ssh user@berry작동합니다.


호스트 이름 ala에 .local을 추가하여 해결할 수 있었던 동일한 문제가 발생했습니다. ssh user@hostname.local


명령이 다음과 같은 경우 :

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

또한 동일한 오류가 발생합니다.

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

-i /path/to/pemfilessh 옵션을 놓친 경우

따라서 명령은 다음과 같아야합니다.

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

동일한 문제가 발생했습니다. 기본 설정-> 공유-> 원격 로그인에 표시된 주소가 작동하지 않았고 '... 노드 이름이나 서비스 이름이 제공되었거나 알 수 없음'이 표시되었습니다. 그러나 수동으로 설정 (환경 설정-> 공유-> 원격 로그인-> 편집)을 편집하고 "동적 글로벌 호스트 이름 사용"을 활성화하면 갑자기 작동했습니다.

여기에 이미지 설명 입력

여기에 이미지 설명 입력


원격 Amazon 서버에 연결해야했습니다.

ssh -i ~/.ssh/test.pem -fN -L 5555:localhost:5678 ubuntu@hostname.com

다음과 같은 오류가 발생했습니다.

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

Mac OSX 용 솔루션

호스트를 핑하여 문제가 해결되었습니다. Mac OSX Seirra를 사용하고 있습니다.

ping hostname.com

이제 문제가 해결되었습니다. 서버에 연결할 수 있습니다.

참고 : 이 솔루션시도 했습니다 . 하지만 잘되지 않았습니다. 그런 다음 ping문제를 해결했습니다.


It seems that some apps won't read symlinked /etc/hosts (on macOS at least), you need to hardlink it.

ln /path/to/hosts_file /etc/hosts


This was happening to me when trying to access Github. The problem is that I was in the habit of doing:

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

But, if you are having this error from the question, removing ssh:\\ may resolve the issue. It solved it for me!

Note that you will have to do a git remote remove <xyz> and re-add the remote url without ssh:\\.


For me, the problem was a typo on my ~/.ssh/config file. I had:

Host host1:
  HostName 10.10.1.1
  User jlyonsmith

The problem was the : after the host1 - it should not be there. ssh gives no warnings for typos in the ~/.ssh/config file. When it can't find host1 it looks for the machine locally, can't find it and prints the cryptic error message.


허용되는 포트를 고려하여 이것을 시도하십시오. 예를 들어 .pem파일을 Documents폴더에 저장하십시오 .

지금 액세스하려면 cd [directory]할당 된 파일의 디렉토리로 이동하는이면됩니다. 먼저를 입력 ls하여 현재있는 디렉토리 내용을 나열 할 수 있습니다 .

ls
cd /Documents
chmod 400 mycertificate.pem
ssh -i "mycertificate.pem" ec2-user@ec2-1-2-3-4.us-compass-0.compute.amazonaws.com -p 80

참고 URL : https://stackoverflow.com/questions/20252294/ssh-could-not-resolve-hostname-hostname-nodename-nor-servname-provided-or-n

반응형