직접 이더넷 연결을 통해 장치에 SSH를 통해 연결하는 방법

직접 이더넷 연결을 통해 장치에 SSH를 통해 연결하는 방법

SSH를 통해 연결해야 하는 장치가 있습니다. 장치는 직접 이더넷 연결을 통해 내 워크스테이션에 연결됩니다. 어떻게든 연결된 장치에 SSH를 통해 액세스할 수 있는 IP 주소를 할당하려고 하는데, 내가 찾은 모든 가이드에서는 사용자가 사용 중인 모든 장치(예: Raspberry Pi 등)에서 IP를 구성해야 한다고 요구합니다. . 사용할 물리적 인터페이스가 없기 때문에 이 장치로는 이 작업을 수행할 수 없습니다.

누군가가 내 워크스테이션에 DHCP 서버를 설정하여 이 문제를 처리하도록 제안했지만 구성 방법을 모르고 내가 따랐던 가이드 중 어느 것도 도움이 되지 않았습니다. 이렇게 하면 장치가 연결된 인터페이스에 IP를 바인딩할 수 있는 것처럼 보이지만 해당 IP에 SSH를 사용하면 내 컴퓨터로 다시 돌아오게 됩니다.

따라서 내 주요 질문은 장치에 대한 어떤 종류의 액세스(인터페이스, 키보드, 모니터 등 없음) 없이 이더넷 케이블을 통해 내 컴퓨터에 직접 연결된 장치에 IP 주소를 어떻게 할당합니까?입니다. 대답이 내 컴퓨터에 DHCP 서버를 설정하는 것이라면 어떻게 올바르게 구성하고 SSH를 통해 액세스할 수 있는 IP를 얻습니까?

참고로 OpenSSH가 설치된 Ubuntu 16.04를 사용하고 있습니다. 이 장치는 또한 일부 Linux 버전을 실행하고 SSH 소프트웨어가 설치되어 있지만 SSH를 통하는 것 외에는 상호 작용할 수 있는 방법이 없습니다. 또한 라우터에 액세스할 수 없으므로 장치를 라우터에 연결하고 라우터가 작동하도록 하는 것은 옵션이 아닙니다.

답변1

이것협회@steve가 제공한 의견은 적절하지만 먼저 간단한 것을 시도하고 장치가 무엇을 할 수 있는지 확인하려면 dnsmasq간단한 dns 및 dhcp 서버인 를 사용할 수 있습니다. 를 사용하여 설치합니다 sudo apt-get install dnsmasq. 서버도 활성화하고 시작하는 경우 서버를 중지하고 비활성화해야 합니다.

예를 들어 장치가 이더넷 인터페이스에 있고 인터페이스 IP 주소를 설정한 경우 다음을 시도해 볼 수 있습니다 eth2.sudo ifconfig eth2 192.168.9.1

sudo dnsmasq -d -C /dev/null --port=0 --domain=localdomain --interface=eth2 --dhcp-range=192.168.9.2,192.168.9.10,99h

데몬 대신 디버그 모드(-d)로 dhcp 서버를 설정합니다. 여기서 dns(포트=0)는 0.2~0.10 범위의 주소를 제공할 수 있으며 99시간 동안 동일한 주소를 유지합니다.

장치가 주소 검색 요청을 브로드캐스트하는 경우 응답(인용문)과 함께 해당 요청이 표시됩니다.

dnsmasq-dhcp: DHCPDISCOVER(eth2) 94:71:ac:ff:85:9d 
dnsmasq-dhcp: DHCPOFFER(eth2) 192.168.9.2 94:71:ac:ff:85:9d 

이 숫자는 할당된 IP 주소와 장치의 MAC 주소입니다. 장치가 브로드캐스팅을 포기한 경우 장치를 재설정하거나 전원을 켜야 할 수도 있습니다. 장치가 응답할 수 ping 192.168.9.2있으며 SSH를 시도할 수도 있습니다. 이 테스트에서 주소가 제공되면 dnsmasq를 중단하고 표준 dnsmasq 구성 파일에 옵션을 넣을 수 있습니다.

sudo tcpdump -i eth2또한 어떤 패킷이 통과하는지 확인하기 위해 효과적으로 실행할 수도 있습니다 .

관련 정보