SSH를 사용하여 터미널에서 Raspberry Pi에 연결하려고 하면 연결이 영원히 중단됩니다.ssh [email protected]
내가 핑할 때[이메일 보호됨],나는 얻다ping: cannot resolve [email protected]: Unknown host
IP 주소를 사용하여 ping 및 ssh를 실행할 수 있습니다.ssh [email protected]
호스트 이름을 통해 연결하려면 노트북 네트워크 설정(macOS)을 구성해야 하는지, Raspberry Pi 설정(Debian)을 구성해야 하는지 잘 모르겠습니다.
답변1
호스트에 대해 호스트 이름을 지정하면 해당 호스트만 이를 알 수 있습니다. 호스트 이름(및 해당 IP 주소)은 다른 호스트에서 전혀 알 수 없습니다. 이름 서비스(예: DNS, NIS 등)는 이 지식을 네트워크 전체에 "배포"한다는 점에서 약간 다릅니다. 그러나 우리의 목적에 따라 호스트 자체만이 호스트 이름을 알고 있습니다.
즉, 한 시스템("yourpc"라고 함)에서 다른 시스템("pi")으로 연결하려고 합니다. 이렇게 하려면 "yourpc"가 "pi"라는 이름에 해당하는 IP 주소를 알아야 합니다. 이름 서비스가 없는 경우 "yourpc"를 알 수 있는 방법이 있습니다. 즉, 호스트 이름과 해당 IP 주소를 파일에 입력합니다 /etc/hosts
. 사실 이것이 이 문서의 구체적인 목적입니다.
일반적인 /etc/hosts
파일은 다음과 같습니다.
# Place comments after octothorpe signs, like in shell scripts
10.1.1.1 host1
10.1.1.2 host2
10.1.1.3 host3 # an inline comment is also possible
# you can also specify "aliases" - multiple names under which the host is also known
10.1.1.4 host4 myraspberrypi
...
나중에 생각하고 조언을 주신 @Archemar에게 감사드립니다.
사용자 이름은 IP 수준과 관련이 없습니다. 이 수준에서는 호스트(또는 해당 인터페이스), 네트워크 및 유사한 엔터티만 다룹니다. 사용자 또는 해당 이름은 이 수준에서 이 그림을 입력하지 않습니다.
위의 호스트 파일 예시를 사용하면 다음이 모두 동일합니다.
ssh [email protected]
ssh someuser@host4
ssh someuser@myraspberrypi