Eu tenho uma VM do Ubuntu em execução na minha máquina Windows 7. Como faço para configurá-lo para que eu possa acessar o servidor da web externamente através do SSH?
Encontrei as etapas ( Configurar acesso SSH entre o VirtualBox Host e as VMs convidadas ) para poder enviar ssh para meu convidado do meu host, mas isso ainda me deixa com o problema de acessá-lo através do meu roteador.
Suponho que eu poderia instalar um servidor SSH na minha máquina Windows e depois fazer o túnel algumas vezes (embora não tenha 100% de certeza do que usar em termos de local, dinâmico etc. ou como configurar vários túneis?), mas existe uma maneira de tornar a VM diretamente acessível ao meu roteador para que eu possa transportar diretamente para ela?
ssh
virtualbox
Jordânia
fonte
fonte
Respostas:
A melhor maneira de efetuar login em uma VM VirtualBox Linux convidada é o encaminhamento de porta . Por padrão, você já deve ter uma interface que esteja usando NAT . Em seguida, vá para as configurações de rede e clique no botão Encaminhamento de porta . Adicione uma nova regra . Como o nome da regra, insira "ssh". Como "Porta do host", insira 3022. Como "Porta do convidado", insira 22. Todo o restante da regra pode ser deixado em branco.
ou na linha de comando
onde 'myserver' é o nome da VM criada. Verifique as regras adicionadas:
Isso é tudo! Certifique-se de não esquecer de instalar um servidor SSH na VM:
Para fazer o SSH na VM convidada, escreva:
Onde
user
está o seu nome de usuário na VM.fonte
ssh -p 3022 [email protected]
Essa foi a única etapa que eu estava perdendo e só fui encontrar em outro site.Host mybox HostName 127.0.0.1 User myuser Port 3022
para o arquivo (add travessão si mesmo), então você só precisassh mybox
cada vez :)Altere o tipo de adaptador no VirtualBox para ponte e defina o convidado para usar o DHCP ou defina um endereço IP estático fora dos limites do DHCP. Isso fará com que a máquina virtual aja como um convidado normal em sua rede doméstica. Você pode então avançar.
fonte
Manter o adaptador NAT e adicionar um segundo adaptador somente para host funciona de maneira surpreendente e é crucial para laptops (onde a rede externa sempre muda).
http://muffinresearch.co.uk/archives/2010/02/08/howto-ssh-into-virtualbox-3-linux-guests/
Lembre-se de criar uma rede somente host na própria caixa virtual (GUI -> configurações -> rede); caso contrário, você não poderá criar a interface somente host no convidado.
fonte
/etc/network/interfaces
, Obrigado!ssh
,sftp
, etc.) desde que você teria que passar por uma porta não-padrão.Você também pode usar uma rede em ponte (ou "Bridge Adapter", em versões mais recentes) nas configurações de rede . Isso colocará sua VM em uma VLAN com sua máquina. Então você pode simplesmente fazer o ssh na VM assim.
fonte
Como fazer uma rede somente host ( melhor que a ponte) para Solaris 10 e Ubuntu 16.04
Adicionar interface somente host
Inicie o cmd.exe e execute
ipconfig /all
. Você deve ver as linhas:O segundo adaptador no convidado também deve estar em 192.168.59. *.
Inicie a VM.
Solaris 10
ifconfig -a
. Você deve ver e1000g0 e e1000g1. Estamos interessados no e1000g1.ifconfig e1000g down
ifconfig e1000g 192.168.56.10 netmask 255.255.255.0 up
ping 192.168.56.10
Preserve essas configurações ao reiniciar
Configure o serviço ssh ( administração ) para efetuar login como root (não recomendado)
Verifique se o ssh está ativado
Modifique / etc / ssh / sshd_config para que haja
Reinicie o serviço ssh
Do host, verifique
Ubuntu 16.04
Interfaces de lista:
Você deve ver três interfaces como lo, enp0s3, enp0s8. Nós vamos usar o terceiro.
Edite / etc / network / interfaces
Então
sudo ifup enp0s8
. Verifique se enp0s8 obteve o endereço correto. Você deve ver seu ip:Caso contrário, você pode executar
sudo ifdown enp0s8 && sudo ifup enp0s8
/superuser/424083/virtualbox-host-ssh-to-guest/424115#424115
fonte
192.168.59.1
e você especificar192.168.56.10
o IP estático do convidado. Todo o endereço de sub-rede da classe C deve corresponder exatamente, portanto, você deve usar algo como192.168.59.10
dentro do convidado.Para fazer o ssh para uma VM do Ubuntu em execução no VirtualBox a partir da sua máquina host, você precisa configurar dois adaptadores de rede para a VM.
Primeiro de tudo, pare a VM, se ainda não estiver.
Em seguida, selecione a VM e clique no menu Configurações na barra de ferramentas do VirtualBox:
Configurar o adaptador 1
Configurar o adaptador 2
(Nota: você não precisa configurar nenhum encaminhamento de porta.)
É isso aí. Depois de configurado, você pode iniciar sua VM. Na sua VM, a configuração de rede será semelhante abaixo e você também terá acesso à Internet:
Também na sua máquina host, você pode ssh na sua VM:
Verifique se o servidor SSH foi instalado e em execução na VM.
Caso contrário, instale-o:
Também para sua informação:
fonte
File > Host Network Manager > Create
As respostas fornecidas por outros usuários aqui:
How to SSH to a VirtualBox guest externally through a host?
... me ajudou a realizar a tarefa de conectar-me da Internet à máquina do meu computador doméstico. Você deve conseguir se conectar usando computadores, tablets e smartphones (android, IPhone etc.). Eu adiciono mais algumas etapas, caso isso possa ser útil para outra pessoa:
Aqui está um diagrama rápido da minha configuração:
Remote device ---> INTERNET --> MODEM --> ROUTER --> HOST MACHINE --> GUEST VM
Remote device (ssh client) ---> PASS THRU DEVICES ---> GUEST VM (ssh server)
Remote device (leave ssh port 3022) ---> INTERNET --> MODEM --> ROUTER (FWD frm:p3022 to:p3022)--> HOST MACHINE (FWD frm:p3022 to:p22) --> GUEST VM (arrive ssh port 22)
A chave para mim foi perceber que TODAS as conexões eram
PASSING-THROUGH
dispositivos intermediários para ir do meu PC remoto à minha máquina virtual convidada em casa - daí o encaminhamento de porta!Notas: * É necessário que o cliente ssh solicite uma conexão segura e um servidor ssh em execução para processar a conexão segura.
Encaminharei a porta 3022 conforme usada na resposta escolhida acima.
Digite seus IPs onde necessário (modem / roteador doméstico, IP do host, IP do convidado, etc.). Os nomes escolhidos são apenas exemplos - use ou altere.
1.Crie um túnel ssh para a porta 3022 no endereço IP externo do IP / roteador do seu modem.
ssh client/device possible commands: ssh -p 3022 user-name@home_external_IP
2.Port forward = estamos passando a conexão do roteador para a máquina host
Verifique também se as regras de firewall / tabela de IP no roteador estão permitindo que as portas sejam encaminhadas (abra se necessário)
Entradas necessárias da tela Pfwd do roteador: AppName: SSH_Fwd, Porta_de: 3022, Protocolo: ambos (UDP / TCP), Endereço_IP: endereço_IP: endereço_IP, Porta_to: 3022, todo o resto pode ficar em branco
Recursos do software do roteador DD-WRT / Informações:
Port_Forwarding DD-WRT
DD-WRT Static_DHCP
3.Host Machine Firewall: porta aberta 3022 #so a porta encaminhada pode passar através da máquina do convidado
Máquina Host: Instale o VirtualBox, adições de convidados e máquina de convidados, se ainda não o tiver feito.
Configure a máquina convidada e siga a seção Rede abaixo
Usei a GUI do VirtualBox para configurar a rede dos convidados - mais fácil que a CLI
Se você deseja usar outros métodos, consulte:
VirtualBox/manual/ch06.html#natforward
4.Alguns sugerem o uso do adaptador de ponte de rede para convidado = acesso à LAN e outras máquinas na sua LAN. Isso também representa um risco maior de segurança, porque agora sua máquina convidada agora está exposta a máquinas LAN e possivelmente aos hackers da INTERNET, se o firewall não estiver configurado corretamente. Por isso, selecionei o adaptador de rede conectado ao NAT para obter menos exposição a riscos de segurança em ponte.
Na máquina convidada, faça o seguinte:
Também existem servidores e clientes ssh diferentes, dependendo do uso da plataforma.
wikipedia/Secure_Shell
wikipedia/Comparison_of_SSH_servers
wikipedia/Comparison_of_SSH_clients
Para usuários do Ubuntu:
ubuntu community: SSHOpenSSH/Configuring
ubuntu/community: OpenSSH/Keys
Deve ser isso. Se eu cometi um erro ou quiser adicionar algo, sinta-se à vontade para fazer isso, ainda sou um noob.
Espero que isso ajude alguém. Boa sorte!
fonte
Para host do Windows, você pode:
fonte
Você também pode iniciar uma porta para o seu host, ou qualquer outro servidor, a partir do seu convidado. Isso é especialmente útil se o seu convidado estiver 'bloqueado' ou não puder concluir a opção ModifyVM (por exemplo, nenhuma permissão para o VBoxManage).
Três requisitos menores são: 1) você é / pode fazer login no VirtualBox Guest (via GUI do 'console', outro convidado, etc.), 2) você possui uma conta no VirtualBox HOST (ou outro servidor) e 3) SSH e TCP o encaminhamento não está bloqueado.
Presumindo que você possa atender aos 3 requisitos, estas são as etapas:
netstat -rn
e encontre o endereço do Gateway no destino de rota padrão 0.0.0.0. Digamos que seja "10.0.2.2". O endereço deste 'Gateway' é (um) dos IPs virtuais do VirtualBox Host.ssh -R 2222:localhost:22 10.0.2.2
onde "10.0.2.2" é o endereço IP do servidor VirtualBox - OU - qualquer outro IP do servidor para o qual você deseja enviar.ssh 10.0.2.2 -p2222
onde 10.0.2.2 é o IP virtual do gateway / VBHost padrão encontrado na etapa 1. Se NÃO for o host do VirtualBox para o qual você está encaminhando a porta, o comando serássh localhost -p2222
fonte
Siga as etapas abaixo para fazer login na sua VM do ubuntu em execução na caixa virtual da máquina host usando o putty (sem encaminhamento de porta):
No gerenciador do Virtualbox, selecione a vm, clique no ícone de configurações. Em seguida, vá em Redes e ative dois adaptadores, como abaixo:
Inicie o ubuntu vm.
Edite o arquivo '/ etc / network / interfaces' como abaixo e salve-o:
Reinicie a VM.
Entre à VM e execute o comando abaixo para verificar o IP alocado para eth1:
Use este IP para abrir a sessão de massa para a VM.
fonte
Uma boa explicação sobre como configurar o encaminhamento de porta com NAT é encontrada nos documentos do VirtualBox: http://www.virtualbox.org/manual/ch06.html#natforward
fonte
Ubuntu 18.04 LTS
Configuração com ponte para ver o ip do servidor e conectar-se sem "encaminhamento de porta"
VirtualBox> clique com o botão direito do mouse em servidor> configurações> Rede> habilite o adaptador 2> selecione "em ponte"> Modo promíscuo: permita tudo> Verifique o cabo conectado> inicie o servidor
No servidor ubuntu, edite o
sudo nano /etc/netplan/*init.yaml
arquivo,Meu arquivo de amostra:
Comandos que ajudarão você
Configurar endereços IP estáticos no servidor Ubuntu 18.04 LTS - com NetPlan
fonte
Simplesmente definir a configuração de rede como ponte fez o truque para mim.
Seu IP mudará quando você fizer isso. No entanto, no meu caso, não mudou imediatamente.
ifconfig
retornou o mesmo ip. Reiniciei o vm e o boom, o ip se iniciou com 192. * e me foi permitido o acesso ssh imediatamente.fonte
Em redes seguras, configurar sua rede para ponte pode não funcionar. Os administradores podem permitir apenas um endereço MAC por porta ou, pior ainda, bloquear a porta, caso os switches detectem vários macs em uma porta.
A melhor solução, na minha opinião, é configurar interfaces de rede adicionais para lidar com serviços adicionais que você gostaria de executar em suas máquinas. Portanto, eu tenho uma interface de ponte para permitir a ponte quando levo meu laptop para casa e posso fazer o SSH a partir de outros dispositivos na minha rede, além de um adaptador somente para host quando eu gostaria de fazer o SSH na minha VM do meu laptop quando estou conectado à rede wifi eduroam no campus.
fonte
Use o adaptador de rede NAT e adicione a porta à frente. Mencione o host real ip.Não use 127.0.0.1 ou localhost.
fonte