如何從遠端伺服器主機登入虛擬機器?

如何從遠端伺服器主機登入虛擬機器?

我的主機是一台遠端伺服器,我在上面使用 qemu 建立了一個虛擬機器。我使用以下命令建立了虛擬機器:

./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 從主機登入虛擬機

ssh -p 5900 divija@localhost

但我收到錯誤訊息:

 ssh_exchange_identification: Connection closed by remote host
  1. 我應該使用連接埠 2222 還是 5900 登入?為什麼我明確給出 2222 時卻在 5900 上創建它?
  2. 有沒有辦法無需連接埠轉送即可登入虛擬機器?

答案1

我不確定問題 1,因為我從未使用過 qemu,但我認為你可能正在嘗試 ssh 進入 vnc 伺服器(你在虛擬機器上的輸出說:VNC server running on 127.0.0.1:5900我可能又錯了,但我不認為你可以ssh 進入vnc伺服器) vnc 伺服器。

對於問題 2,我建議您使用 ngrok 轉送連接埠 5900,例如在虛擬機器上執行此命令:ngrok tcp 5900將允許您從本機網路之外存取該連接埠。

相關內容