Como fazer login na VM a partir do host, que é um servidor remoto?

Como fazer login na VM a partir do host, que é um servidor remoto?

Minha máquina host é um servidor remoto no qual criei uma VM usando qemu. Criei a VM usando o seguinte comando:

./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

Eu vejo o resultado:

QEMU 2.9.91 monitor - type 'help' for more information
(qemu) VNC server running on 127.0.0.1:5900

Então, em um terminal diferente, tento fazer login na VM do host via ssh

ssh -p 5900 divija@localhost

Mas recebo a mensagem de erro:

 ssh_exchange_identification: Connection closed by remote host
  1. Devo fazer login usando a porta 2222 ou 5900? Por que ele está sendo criado em 5900 quando forneci explicitamente 2222?
  2. Existe uma maneira de fazer login na VM sem encaminhamento de porta?

Responder1

não tenho certeza sobre a pergunta 1, pois nunca usei o qemu, mas acho que você pode estar tentando fazer ssh em um servidor vnc (sua saída na vm diz: VNC server running on 127.0.0.1:5900e posso estar errado de novo, mas não acho que você possa fazer ssh em um servidor vnc, você pode usar o Putty para se conectar a servidores vnc.

para a pergunta 2, sugiro que você use o ngrok para encaminhar a porta 5900, por exemplo, executar isso na VM: ngrok tcp 5900permitiria que você acessasse essa porta fora da sua rede local.

informação relacionada