SSH na VM do Ubuntu remotamente

10

Não tenho muita experiência em redes ou Linux, mas estou tentando fazer o ssh em uma máquina virtual Ubuntu de fora da minha rede doméstica. A máquina virtual Ubuntu (VirtualBox) está sendo executada em uma área de trabalho Debian. Fiz algumas pesquisas e descobri que precisava encaminhar a porta 22 do roteador para a máquina virtual.

  • Mudei a configuração de rede na VM para fazer a ponte.
  • Estou encaminhando a porta para a VM.
  • Eu verifiquei ( http://www.yougetsignal.com/ ) para mostrar a porta como aberta.

Mas quando tento conectar, ainda não está funcionando. ssh nome de usuário @ - conexão recusada

Há algo que eu tenha que fazer dentro da máquina virtual para permitir conexões de entrada? Ou encaminhar qualquer porta?

Existe algo que estou fazendo de errado, qualquer ajuda seria muito apreciada !!

user1354275
fonte
Como a VM está em rede com o host. Se estiver atrás de um NAT (padrão na caixa virtual). Não funcionaria, mas uma conexão em ponte deve funcionar desde que você encaminhe as portas corretamente.
Matt Mootz
Você está usando ssh username @ router-ip-address, certo?
Cprofitt
1
sim nome de usuário @ endereço IP público, certo?
User1354275
O Ubuntu pronto para o uso inclui o cliente OpenSSH , que permite a conexão com outro computador executando o servidor SSH. Para conectar 'ao' Ubuntu, você precisa carregar o servidor OpenSSH ( sudo apt-get install openssh-server ) na máquina de destino.
David6

Respostas:

15

Por padrão, o VirtualBox funciona no modo "NAT", o que significa que ele cria uma rede "virtual" e converte os acessos de rede da VM para que, para o mundo externo, pareçam vir do seu computador real.

O VirtualBox faz a VM pensar que está conectada a uma rede, mas na realidade o VirtualBox está fornecendo serviços de rede, incluindo um mini servidor DHCP. Em seguida, o VirtualBox acessa a rede "em nome" da VM, fazendo com que pareça apenas mais um aplicativo em execução no seu PC.

No entanto, isso significa que o mundo externo não conhece realmente a VM e não pode acessá-la diretamente.

Eu acho que o redirecionamento de porta que você fez foi do seu roteador doméstico para o seu PC, não para a VM. Você pode estar perdendo alguma configuração no lado do VirtualBox. Desculpas se você já fez isso, mas sua pergunta não foi clara sobre isso.

Basicamente, você precisa alterar a configuração de rede da VM e defini-la como "Bridged". O que isso faz é criar uma interface virtual no seu PC e usar a VM para acessar o mundo exterior; qualquer coisa que entre ou vá para essa interface é canalizada para a VM. Assim, a VM ficará visível como apenas mais uma máquina na rede à qual seu PC estiver conectado (ele ainda possui seu próprio endereço MAC!).

Então, dependendo da configuração da sua rede, a VM pode obter um endereço DHCP como qualquer outro PC conectado ao seu roteador ou pode ser necessário configurar um endereço IP estático para ele. Isso depende de como sua rede está configurada.

Depois que a VM tiver um endereço "real", você poderá, no seu roteador, seguir as instruções encontradas para rotear a porta 22 para o endereço IP da VM. Isso deve funcionar como você espera.

Caso contrário:

  • Veja a configuração do firewall da sua VM (iptables -L -n). Está bloqueando alguma coisa?
  • Configure outro computador na sua rede local e tente fazer o SSH no endereço IP da VM. Se você puder, precisará verificar novamente a configuração de encaminhamento no seu roteador. Caso contrário, é necessário verificar novamente o SSH da VM e a configuração de firewall.
roadmr
fonte
Oi roadmr, eu mudei a configuração de rede para ponte e encaminho a porta para a VM, pois ela tem seu próprio ip e o roteador conseguiu encontrá-la. Eu tenho um IP estático pelo ISP. Mas ainda não está funcionando
user1354275 3/12/12
1

Pelo que pude entender, seu problema está na rede de computadores do servidor, porque uma vez que você configura a rede vm no modo bridge, você está pronto (verifique ssh <your.vm.ip.number>na linha de comando do servidor - não na vm).

seu servidor está atrás de um roteador, como uma VM usando NAT em sua máquina.

Você precisa entrar em contato com o administrador da rede do servidor para que ele possa encaminhar o endereço IP local da sua VM para uma porta / intervalo de portas (verifique se a sua VM possui um endereço IP estático).

Você pode fazer isso sozinho se tiver autoridade no gateway do servidor para fazê-lo.

um pouco de visualização:

Internet
     '---ROUTER (SERVER1 and SERVER2 use NAT on this router)
            |   (vm1, vm2, vm3, vm4, vm5 need to be forwarded on this router)
            | 
            '--- SERVER1 (vm1, vm2, vm3 use Bridge)
            |       '---vm1
            |       '---vm2
            |       '---vm3
            '--- SERVER1 (vm4, vm5 use Bridge)
            |       '---vm4
            |       '---vm5
apisKod
fonte