
내 호스트 컴퓨터는 qemu를 사용하여 VM을 만든 원격 서버입니다. 다음 명령을 사용하여 VM을 만들었습니다.
./qemu-system-x86_64 -hda /home/divija/images/xenial-server-cloudimg-amd64-disk1.img -cdrom /home/divija/images/ubuntu-16.04.6-server-i386.iso -m 8G -boot d -smp 4 -monitor stdio -net user,hostfwd=tcp::2222-:22 -net nic
결과는 다음과 같습니다.
QEMU 2.9.91 monitor - type 'help' for more information
(qemu) VNC server running on 127.0.0.1:5900
그런 다음 다른 터미널에서 SSH를 통해 호스트에서 VM에 로그인을 시도합니다.
ssh -p 5900 divija@localhost
하지만 오류 메시지가 나타납니다.
ssh_exchange_identification: Connection closed by remote host
- 포트 2222 또는 5900을 사용하여 로그인해야 합니까? 명시적으로 2222를 제공했는데 왜 5900에서 생성됩니까?
- 포트 포워딩 없이 VM에 로그인하는 방법이 있나요?
답변1
Qemu를 사용해 본 적이 없기 때문에 질문 1에 대해서는 잘 모르겠지만 vnc 서버에 ssh를 시도하고 있는 것 같습니다(vm의 출력에 따르면 다음과 같습니다. VNC server running on 127.0.0.1:5900
제가 또 틀렸을 수도 있지만 ssh를 통해 vnc 서버에 연결할 수는 없을 것 같습니다) vnc 서버. Putty를 사용하여 vnc 서버에 연결할 수 있습니다.
질문 2의 경우 ngrok를 사용하여 포트 5900을 전달하는 것이 좋습니다. 예를 들어 vm:에서 이를 실행하면 ngrok tcp 5900
로컬 네트워크 외부에서 해당 포트에 액세스할 수 있습니다.