IP 대신 호스트 이름을 통해 로컬 VM에 SSH로 연결

IP 대신 호스트 이름을 통해 로컬 VM에 SSH로 연결

Ubuntu를 실행하는 가상 머신이 있습니다. 가상 머신은 내 Ubuntu 머신의 Virtualbox에서 로컬로 실행됩니다. SSH를 통해 연결하고 가상 머신의 IP를 제공할 수 있습니다. 하지만 가상 머신의 IP는 바뀔 수 있기 때문에 호스트 이름을 사용하고 싶습니다. 그래서 "ssh"를 시도했습니다.[이메일 보호됨]” 하지만 “이름 또는 서비스를 알 수 없음”이 표시됩니다. 네트워크의 Raspberry Pi에도 동일한 방법이 적용됩니다. “ssh[이메일 보호됨]"연결에는 문제가 없습니다.

여기서 차이점은 무엇입니까? 내 로컬 VM에서 이것이 작동하지 않는 이유는 무엇입니까? VM의 네트워크 어댑터는 브리지 모드에 있으며 DHCP를 통해 내 라우터에서 IP를 가져옵니다.

추가 정보를 보려면 편집하세요. 호스트 이름은 내 라우터에 연결된 장치 목록에 있습니다. "pinghostname.local"도 실패하지만 "pinghostIP"는 작동합니다. DNS 문제임에 틀림없습니다.

어떤 팁이라도 감사드립니다! 헵시

답변1

이 작업을 수행하려면 이름 확인이 필요합니다. DNS일 수도 있지만 자체 DNS 서버를 운영하는 경우 다른 질문을 하게 됩니다. 그래서 모르시는 것 같아요. DNS 서버도 없고 DNS 기반 이름 확인도 없습니다.

이름 확인의 또 다른 방법은 하이퍼바이저 호스트의 파일 에 /etc/hosts추가하는 것 입니다. 아마도 가장 쉬운 솔루션일 것입니다. 특히 다른 컴퓨터에서 가상 머신에 액세스하지 않는 경우에는 더욱 그렇습니다.hostname.local/etc/hosts

세 번째로 많이 사용되는 방법은멀티캐스트 DNS. "이름이 누구입니까 hostname.local?" 유형의 쿼리에 응답하기 위해 가상 머신에서 실행되는 서비스를 사용합니다. Linux에서 이 서비스의 이름은 일반적으로 "Avahi"입니다. Raspberry Pi가 이를 실행하지만 VM은 그렇지 않을 수도 있습니다. 또는 mDNS 쿼리가 가상 머신에 도달하지 못할 수도 있습니다.

어떤 이름 확인 방법이 활성화되어 있는지 알아보려면 다음을 참조하세요.주인문서의 용어 /etc/nsswitch.conf.

관련 정보