SSH no VirtualBox Guest: Conexão recusada


21

Configuração

  • Sistema operacional host Windows de 64 bits executando o VirtualBox 4.2, com sistema operacional convidado Ubuntu 12.04.
  • O servidor OpenSSH está instalado e em execução ( ssh -v localhost se conecta localmente na máquina convidada).
  • Pode SSH para servidores externos (nenhuma regra de firewall do Windows de saída bloqueia a porta 22)
  • Pode executar ping no IP do convidado (192.168.56.101)

Problema

Usando PuTTY para SSH no IP do sistema operacional convidado (192.168.56.101), o PuTTY retorna quase imediatamente com

Erro de rede: conexão recusada

Como posso diagnosticar e resolver esse problema?

Respostas:


10

Você tem certeza de que o IP é para o sistema operacional convidado. Eu tive o mesmo problema e verificou-se que o IP que eu estava usando o tempo todo, o 192.168.56.101 era na verdade o IP da interface do Windows e o IP do SO do host era 192.168.56.103.

Você pode verificar fazendo ipconfig / ifconfig nos dois.

NOTA: Eu também havia configurado um IP estático que, de fato, não precisava. Caso você tente desde o início, achei este tutorial melhor.


6
+1, o padrão do VirtualBox é criar um convidado cujo adaptador de rede virtual seja NAT através do próprio VirtualBox. Portanto, esse convidado poderá efetuar o SSH e o próprio SSH , mas não poderá receber conexões SSH até que as regras de encaminhamento de porta sejam criadas no VirtualBox.
Gord Thompson 17/03/2013

+1 Após 1h de confusão no Google, finalmente! Eu pensei que o .101 era o convidado e não o anfitrião!
Afr

6

Nenhuma das outras soluções é boa porque:

  1. Não há nenhum ponto para ssh para o seu convidado via bridge se o hóspede perder o acesso à Internet
  2. Todas as outras soluções acima dizem para você construir um foguete para atravessar a rua.

Cenário

  • Host Ubuntu Desktop 16.04
  • Convidado Ubuntu Server 16.04 (executando no Virtual box 5)

Problema

Conexão SSH recusada

Solução

  1. Encerre seu Ubuntu convidado
  2. No Virtualbox, vá para Configuração> rede> Adaptador1> Avançado> Portforwarding
  3. Nome = SSH Hostport = 2022 (ou qualquer porta, exceto 22) Guestport (22)
  4. Reinicie seu convidado
  5. No host, abra uma Putty ou o que você usar para SSH
  6. ssh user@127.0.0.1 -p2022 (ou qualquer porta que você mencionou como hostport)
  7. Divirta-se em que você está

Eu tenho um problema com isso: Em Configuração da caixa virtual> rede> Adaptador1> Avançado> O Portforwarding fica cinza, não é clicável. imgur.com/seT3p02
SL5net em

@ SL5net desligue a VM
Alon Gouldman

2

O seguinte funciona para mim:

Antes:

vboxnet0: 192.168.56.1
eth1:     192.168.56.1

Depois de:

vboxnet0: 192.168.56.1
eth1:     192.168.56.101

Então, basicamente mudei parte do arquivo {/ etc / network / interfaces} da seguinte maneira:

Antes:

auto eth1
iface eth1 inet static
address 192.168.56.1
netmask 255.255.255.0 

Depois de:

auto eth1
iface eth1 inet static
address 192.168.56.101
netmask 255.255.255.0 

Trabalho: ssh username@192.168.56.101


Não sei por que, isso funcionou para mim. Obrigado @Mause
murarisumit 4/17/17

2

O Secure Shell (SSH) é um protocolo para efetuar login e executar comandos em máquinas remotas. Ele fornece comunicações criptografadas seguras. Se você planeja acessar sua máquina remotamente via SSH através de uma interface com firewall, ative esta opção. Você precisa do pacote openssh-server instalado para que esta opção seja útil.

Aí vem a informação que o pacote openssh-serverdeve ser instalado. Depois de fazer isso no convidado e reiniciar o vm, você pode usar o ssh.


Não reiniciei meu Ubuntu 16.04 e ele ainda funcionava. Obrigado :)
Oren Milman

1

Você deve verificar se o firewall do sistema operacional convidado não está bloqueando as conexões de entrada na porta 22.


1
O firewall do sistema operacional convidado está desativado. Esse é o padrão e eu verifiquei que ele está desativado sudo ufw status.
Eric J.

1

Talvez seja um problema com o controle de acesso. Para desativá-lo e permitir acesso total, como root:

xhosts +

Eu tive um problema semelhante com o visualizador VNC


1
Eu realmente duvido que, o IMHO sshd não tem nada a ver com o X - em contraste com o vnc.
Mpy

1

O problema foi resolvido ativando o servidor DHCP no adaptador de rede VirtualBox.

VirtualBox (versão mais recente, versão 5) -> Arquivo -> Preferências -> Rede -> Redes somente host (guia) -> Detalhes de redes somente host (ferramenta Ícone) -> Servidor DHCP

  1. Marque Ativar servidor
  2. Preencha o endereço IP
  3. Ok ok
  4. Reinicie a máquina virtual

Minhas configurações para a etapa 2

  1. Endereço do servidor: 192.168.56.100
  2. Máscara do servidor: 255.255.255.0
  3. Limite inferior do endereço: 192.168.56.101
  4. Limite superior do endereço: 192.168.56.200

1

Ei, estou voltando à primeira página que encontrei na minha mini-saga de solução de problemas e pesquisas, esperando que este tutorial que eu fiz possa salvar outra pessoa de todo o aborrecimento.

Guia do início ao fim sobre a configuração de um servidor CentOS com Oracle VM:

Parte I - Configuração da máquina virtual

  1. Instale o Oracle VM VirtualBox e o pacote de expansão aqui .
  2. Faça o download da instalação mínima do CentOS aqui .
  3. Para este tutorial, estou usando um cliente Ubuntu. O ISO para isso pode ser encontrado aqui .
  4. Crie o servidor CentOS e suas máquinas virtuais clientes.
  5. Configure a VM do CentOS. uma. Abra o Destino da instalação e pressione Voltar. b. Vá para Rede e nome do host, se desejar alterar o nome do host, o que eu recomendo. c. Sinta-se à vontade para configurar itens em Localização. Todo o resto é tratado automaticamente pelo VirtualBox. d. Pressione iniciar instalação. e Crie uma conta raiz e uma conta normal. Verifique se o último possui direitos de administrador. f. Quando a barra de carregamento estiver cheia, pressione Reiniciar.
  6. Configure sua VM cliente. uma. Instale as adições de convidado do VirtualBox.

Parte II - Configuração da Rede Virtual

  1. No VirtualBox, pressione CTRL + W.
  2. Crie uma nova rede host. uma. Se você receber um erro, isso provavelmente ocorre devido ao sistema operacional host, causando problemas no VirtualBox ao instalar seus drivers. Você precisará desinstalar completamente o VirtualBox e reinstalar a versão mais recente. Certifique-se de executar a instalação como administrador.
  3. Na guia Adaptador, selecione "Configurar o adaptador manualmente"
  4. No Windows, abra o prompt de comando e digite ipconfig.
  5. Role pela saída até encontrar o nome da rede somente host que você acabou de criar. Use esse endereço IPv4 e máscara para a configuração de rede do VirtualBox.
  6. Feche o Gerenciador de rede host.
  7. Abra as configurações da sua VM cliente. Em Rede, Habilite o Adaptador 2, selecione Adaptador somente para host e, em seguida, o nome é o nome da sua rede somente para host recém-criada.
  8. Repita a última etapa para a VM do servidor CentOS. Além disso, vá para o encaminhamento de porta do adaptador 1 na guia Avançado e crie uma nova regra. Defina as portas host e convidado como 22.
  9. Antes de fechar as configurações avançadas, observe o endereço MAC.

Parte III - Configuração do Servidor

  1. Inicie sua VM CentOS.
  2. Run yum check-update, yum upgradee yum clean all.
  3. Corra nmtui.
  4. Pressione enter sobre "Editar uma conexão".
  5. Você deve ver "enp03s" e uma "Conexão com fio 1". uma. Se você tem duas opções de conexão, mas não sabe qual é qual, vá para editar uma. Se o valor do dispositivo corresponder ao endereço MAC visto no Adaptador 1 da Parte II, será a sua conexão NAT, caso contrário, será a sua conexão somente host.
  6. Edite sua conexão somente para host: a. Defina a configuração do IPv4 como "manual". B. Mostrar configuração do IPv4 c. No VirtualBox, pressione CTRL + W. Ao lado do nome da rede somente para host, você deverá ver a combinação Endereço / máscara IP do formato “[ip] / [máscara].” No servidor na configuração IPv4, é isso que você digitará após pressionar <Add…>. d. Desça e pressione OK.
  7. Verifique se a opção “Conectar automaticamente” está marcada para as conexões NAT e somente para host.
  8. Navegue para fora de nmtuie reboot.

Parte IV - Configuração e Uso do Cliente

  1. Inicialize sua VM do cliente.
  2. (opcional) Edite / etc / hosts para incluir a linha a do formulário: [serv_ip_addr] [hostname] Onde serv_ip_addr é o endereço IP do seu servidor CentOS (segunda saída hostname -Ino seu terminal CentOS). Isso permitirá que você use o que você escolher para [hostname] de forma intercambiável com o endereço IP do seu servidor. Normalmente, apenas defino isso como o nome do host escolhido na parte II.
  3. Se tudo funcionou até esse ponto, você deve poder fazer o ssh [user]@[hostname]no servidor CentOS. Se não for esse o caso, pode ser necessário instalar openssh-cliente openssh-serverem suas máquinas.

Parte V - Servindo Sites

  1. Este é um excelente guia para hospedar seus próprios sites a partir de uma configuração conforme descrito acima.

0

Eu tive que resolver esse problema adicionando uma regra ufw para o segundo adaptador:

ufw allow in on enp0s8 to 192.168.56.101 port 22 proto tcp

onde enp0s8 é o nome do meu segundo adaptador (nas distros antigas do Ubuntu era eth1).


-1

Na sua caixa Linux (VirtualBox Ubuntu), abra o Terminal e digite o seguinte comando: sudo service ssh start

Tente conectar-se a ele novamente depois disso.

Oh meu mal, eu perdi o que gronostaj apontou

OK, às vezes as soluções são realmente simples. Recentemente, enfrentei o mesmo problema com o convidado do Slackware no Windows 7 Host. Tudo o que tive que fazer foi ifconfig up eth'X 'e atribuir sub-rede IP 192.168.56.xxx 255.255.255.0 (se o adaptador for apenas host) Esta questão tem quase um ano, então estou mencionando isso para alguém como eu tropeçar nesta página procurando por "conexão ssh recusada" ;-)


A OP havia declarado que as conexões SSH locais funcionam, portanto o servidor está em execução.
gronostaj

-2

Teve o mesmo problema, resolveu-o adicionando um disco rígido virtual à VM, que não tinha nenhum.


Isso significa que seu problema era diferente. Se a sua VM não tinha um disco rígido, ela não foi inicializada em um sistema operacional, como a VM dos OPs. Por favor, leia as perguntas cuidadosamente para garantir que você as entenda antes de responder.
music2myear

Isso não fornece uma resposta para a pergunta. Depois de ter reputação suficiente, você poderá comentar qualquer postagem ; em vez disso, forneça respostas que não exijam esclarecimentos do solicitante . - Da avaliação
music2myear

Minha VM foi inicializada em um arquivo ISO de 32 bits do Linux, sem disco rígido virtual adicional
Louis Garczynski

O que significa que você estava executando uma sessão do Linux "Live", que definitivamente não é com o que o OP estava lidando. Ficamos felizes por você ter resolvido seu problema, mas sua solução não é a solução, ou particularmente próxima do que estava ocorrendo no OP.
music2myear

Você está absolutamente correto, eu não sabia que o problema da OP era tão específico. Dito isto, considerando que recebi a mesma mensagem de erro, vou manter a resposta aqui, caso alguém com o meu problema acabe aqui também.
Louis Garczynski
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.