VirtualBox Host ssh para Convidado

53

Eu tenho um host mac e um convidado do VirtualBox Linux, atualmente usando o modo em ponte.

Eu preciso ser capaz de fazer o SSH facilmente no convidado do host. Seria bom usar um nome de host, mas um endereço IP que nunca mudaria também seria bom (atualmente, o IP muda a cada nova rede em que ingresso e o nome do host nunca funcionou).

Eu também preciso de acesso à Internet pelo hóspede.

Outras máquinas na rede não precisam de acesso ao convidado.

Qual é a melhor maneira de configurar minha rede VirtualBox?

Thomas Hunter
fonte
11
Relacionado a isso, considerar iniciar o convidado VB sem GUI: superuser.com/questions/135498/...
Fabricio PH

Respostas:

36

Primeiro, você terá que criar a vboxnet0interface.

VirtualBox> Arquivo> Preferências> Rede> Redes somente host> Adicionar (você receberá o vboxnet0)

Em seguida, execute isso na máquina host. Você verá uma nova interface vboxnet0, apareceu.

ifconfig

Encerre sua VM e faça:

VM's Settings > System > check "Enable I/O APIC."
VM's Settings > Network > Adapter 2 > host-only vboxnet0

Iniciar VM, na execução de convidado

ifconfig

e verifique ip

Verifique estes links:

  1. https://forums.virtualbox.org/viewtopic.php?f=8&t=40076
  2. http://www.wiredrevolution.com/virtualbox/setup-ssh-access-between-virtualbox-host-and-guest-vms

Também existe uma solução para o NAT, mas não a verifiquei.

Configurando o encaminhamento de porta com NAT em sua máquina host

VBoxManage modifyvm "VM name" --natpf1 "guestssh,tcp,,2222,,22"

conecte-se ao seu linux através da porta 2222 da sua máquina host

ssh -l -p 2222 localhost

Para redes somente host com IP estático, verifique o seguinte:

https://stackoverflow.com/questions/5906441/how-to-ssh-to-a-virtualbox-guest-externally-through-a-host/27152153#27152153

É para Solaris 10 e Ubuntu 16.04, mas deve ser fácil de adaptar.

rofrol
fonte
2
Obrigado, acabei ativando o encaminhamento de porta do VirtualBox e consigo conectar via ssh localhost -p 7022.
Thomas Hunter
Bom, o encaminhamento de porta funcionou como um encanto. Embora eu tenha feito a configuração na GUI do Virtualbox e não com o VBoxManage. Lá, você também precisa definir o endereço IP do host e do convidado, que devem ser 127.0.0.1 e 10.0.2.15, respectivamente.
Sebastian Ganslandt 26/11/12
Edição secundária para a primeira frase. Ele deve ler: VirtualBox> Configurações> Rede> 'Host-somente Networks'> Adicionar (você terá vboxnet0)
Steve Swinsburg
Fiz tudo isso para a configuração somente de host e, quando tento entrar no ssh do meu host, ele simplesmente trava (até o tempo limite). Mais alguma coisa?
Chris Westin
37

Entre duas máquinas Linux (um host Ubuntu de 32 bits e uma VM Ubuntu de 64 bits), consegui fazer o ssh funcionar usando este Port Forwarding:

insira a descrição da imagem aqui

Em seguida, no sistema host, execute

ssh -p 5679 127.0.0.1

Substitua 5679pela "Porta do host" inserida nas Regras de encaminhamento de portas.

719016
fonte
8
Fiz exatamente o mesmo, apenas sem inserir nenhum "IP do host" e "IP do convidado".
11133 Damien Cassou
No meu caso, a imagem do ubuntu não veio com o ssh instalado (eu esperava). Então eu executei o 'apt-get install openssh-server' e consegui conectar-me com o 'ssh -p 5679 localhost'. Com base nos outros comentários, não coloquei nenhum IP de host ou convidado.
Pierre-Antoine
2

Se você não quiser mexer com o encaminhamento de porta, poderá configurar um adaptador somente para host que apareça como uma interface de host e, em seguida, adicionar um endereço IP dentro dessa sub-rede no convidado.

Passos:

  • Crie uma rede somente host no Virtualbox (GUI -> configurações -> rede). Digite ifconfigo host e veja algo como vboxnet0cominet 192.168.50.1
  • no convidado, adicione um endereço IP: ifconfig eth1 192.168.50.101 netmask 255.255.255.0 up
  • no host, execute ssh [email protected]

Leitura adicional:

Ben Creasy
fonte
1

Talvez seja melhor configurar sua NIC virtual no modo NAT se você estiver se movimentando bastante. Usando NAT, o host (seu PC) se torna o servidor e o roteador DHCP de uma rede privada criada para os sistemas operacionais convidados. Eu tenho certeza que você pode definir um endereço estático usando NAT também ...

No entanto, acho que a melhor solução é descobrir por que a resolução de nomes não está funcionando para sua VM convidada :)

https://www.virtualbox.org/manual/ch06.html#network_nat

John
fonte
2
Eu configuro o modo NAT e meu convidado recebe o ip 10.0.2.15. No entanto, no host (cujo IP é 192.168.1.120), não consigo acessar o convidado. O guia foi capaz de explicar os diferentes modos para mim, mas não parecia ter uma solução para o meu problema.
Thomas Hunter
0

Muito útil, me coloque na direção certa. Obrigado.

Eu tive que ir para> VirtualBox> Arquivo> Host Network Manager> vboxnet0> Configurar o adaptador manualmente> Endereço IPv4 e configurá-lo para o ifconfig do convidado. Por alguma razão, o host e o convidado estavam me dando IPs diferentes.

É mencionado, mas para ser explícito, eu tive que definir a porta de encaminhamento de porta para 127.0.0.1 como 5679 e não a porta ssh padrão 22, pois ela já está sendo usada pela comunicação ssh do próprio host.

remkohdev
fonte