SSH en VirtualBox Guest: conexión rechazada

21

Preparar

  • Sistema operativo host de Windows 7 de 64 bits que ejecuta VirtualBox 4.2, con sistema operativo invitado Ubuntu 12.04.
  • El servidor OpenSSH está instalado y ejecutándose ( ssh -v localhost se conecta localmente en la máquina invitada).
  • Puede SSH a servidores externos (ninguna regla de firewall de Windows saliente bloquea el puerto 22)
  • Puede hacer ping a la IP del invitado (192.168.56.101)

Problema

Usando PuTTY a SSH a la IP del SO huésped (192.168.56.101), PuTTY regresa casi inmediatamente con

Error de red: Conexión rechazada

¿Cómo puedo diagnosticar y resolver este problema?

Eric J.
fuente

Respuestas:

10

¿Está seguro de que la IP es para el sistema operativo invitado? Tuve el mismo problema y resultó que la IP que había estado usando todo el tiempo, la 192.168.56.101 era en realidad la IP de la interfaz de Windows y la IP del sistema operativo host era 192.168.56.103.

Puede verificar haciendo ipconfig / ifconfig en ambos.

NOTA: También había configurado una IP estática que resulta que no necesitaba en absoluto. En caso de que lo intentes desde el principio, encontré que este tutorial es mejor.

Saad Farooq
fuente
66
+1, El valor predeterminado de VirtualBox es crear un invitado cuyo adaptador de red virtual tenga NAT a través de VirtualBox. Por lo tanto, tales invitado sería capaz de SSH a cabo , y sería capaz de SSH en sí , pero que no sería capaz de recibir conexiones SSH hasta reglas de reenvío de puertos se crearon en VirtualBox.
Gord Thompson
+1 Después de 1 hora de Google-mess, ¡por fin! ¡Pensé que el .101 era el invitado, no el anfitrión!
Afr
6

Ninguna de las otras soluciones son buenas porque:

  1. No tiene sentido comunicarse con su invitado a través de un puente si el invitado pierde el acceso a Internet
  2. Todas las otras soluciones anteriores te dicen que construyas un cohete para cruzar la calle.

Guión

  • Host Ubuntu Desktop 16.04
  • Servidor Ubuntu invitado 16.04 (Ejecutando en Virtual Box 5)

Problema

Conexión SSH rechazada

Solución

  1. Cierra tu Ubuntu invitado
  2. En Virtualbox, vaya a Configuración> red> Adaptador1> Avanzado> Reenvío de puertos
  3. Nombre = SSH Hostport = 2022 (o cualquier puerto excepto 22) Guestport (22)
  4. Reinicia tu invitado
  5. En su host, abra una masilla o lo que sea que use para SSH
  6. ssh [email protected] -p2022 (o cualquier puerto que haya mencionado como puerto host)
  7. Diviértete en lo que estás
Henrique Oliveira
fuente
Tengo un problema con esto: en Configuración de Virtualbox> red> Adaptador1> Avanzado> El reenvío de puertos es gris, no se puede hacer clic en él. imgur.com/seT3p02
SL5net
@ SL5net apaga la VM
Alon Gouldman
2

Lo siguiente funciona para mí:

Antes de:

vboxnet0: 192.168.56.1
eth1:     192.168.56.1

Después:

vboxnet0: 192.168.56.1
eth1:     192.168.56.101

Entonces, básicamente cambié parte del archivo {/ etc / network / interfaces} de la siguiente manera:

Antes de:

auto eth1
iface eth1 inet static
address 192.168.56.1
netmask 255.255.255.0 

Después:

auto eth1
iface eth1 inet static
address 192.168.56.101
netmask 255.255.255.0 

Trabajos: ssh [email protected]

Mause Hai
fuente
No sé por qué, esto funcionó para mí. Gracias @Mause
murarisumit
2

Secure Shell (SSH) es un protocolo para iniciar sesión y ejecutar comandos en máquinas remotas. Proporciona comunicaciones encriptadas seguras. Si planea acceder a su máquina de forma remota a través de SSH a través de una interfaz con firewall, habilite esta opción. Necesita el paquete openssh-server instalado para que esta opción sea útil.

Aquí viene la información de que el paquete openssh-servertiene que estar instalado. Después de hacer eso en el invitado y reiniciar el vm, puede usar ssh.

Alex44
fuente
No reinicié mi Ubuntu 16.04 y todavía funcionó. Gracias :)
Oren Milman
1

Debe verificar que el firewall del sistema operativo invitado no esté bloqueando las conexiones entrantes en el puerto 22.

Sarga
fuente
1
El firewall del sistema operativo invitado está deshabilitado. Ese es el valor predeterminado, y verifiqué que está deshabilitado con sudo ufw status.
Eric J.
1

Tal vez sea un problema con el control de acceso. Para deshabilitarlo y permitir el acceso completo, como root:

xhosts +

Tuve un problema similar con el visor VNC

Arrendajo
fuente
1
Realmente dudo que, en mi humilde opinión sshd no tiene nada que ver con X, en contraste con vnc.
mpy
1

El problema se resolvió habilitando el servidor DHCP en el adaptador de red VirtualBox.

VirtualBox (última versión, versión 5) -> Archivo -> Preferencias -> Red -> Redes de solo host (pestaña) -> Detalles de redes de solo host (herramienta de icono) -> Servidor DHCP

  1. Marque Habilitar servidor
  2. Complete la dirección IP
  3. BIEN BIEN
  4. Reinicia la máquina virtual

Mi configuración para el paso 2

  1. Dirección del servidor: 192.168.56.100
  2. Máscara del servidor: 255.255.255.0
  3. Dirección inferior enlazada: 192.168.56.101
  4. Dirección superior limitada: 192.168.56.200
thanos.a
fuente
1

Hola, acabo de regresar a la primera página que encontré en mi mini-saga de resolución de problemas e investigación, esperando que este tutorial que hice pueda salvar a alguien más de toda la molestia.

Guía de inicio a fin sobre la configuración de un servidor CentOS con Oracle VM:

Parte I - Configuración de la máquina virtual

  1. Instale Oracle VM VirtualBox y el paquete de expansión aquí .
  2. Descargue la instalación mínima de CentOS aquí .
  3. Para este tutorial, estoy usando un cliente Ubuntu. El ISO para eso se puede encontrar aquí .
  4. Cree el servidor CentOS y las máquinas virtuales de su cliente.
  5. Configure la VM CentOS. a. Abra el Destino de instalación y presione Atrás. si. Vaya a Red y nombre de host si desea cambiar su nombre de host, que le recomiendo. C. No dude en configurar elementos en Localización. Todo lo demás es manejado automáticamente por VirtualBox. re. Presione comenzar la instalación. mi. Cree una cuenta raíz y una cuenta normal. Asegúrese de que este último tenga derechos de administrador. F. Una vez que la barra de carga esté llena, presione Reiniciar.
  6. Configure su máquina virtual cliente. a. Instalar adiciones de invitados VirtualBox.

Parte II - Configuración de red virtual

  1. En VirtualBox, presione CTRL + W.
  2. Crea una nueva red de host. a. Si recibe un error, esto probablemente se deba a que su sistema operativo host causa problemas con VirtualBox al instalar sus controladores. Deberá desinstalar completamente VirtualBox y reinstalar la última versión. Asegúrese de ejecutar la instalación como administrador.
  3. En la pestaña Adaptador, seleccione "Configurar adaptador manualmente"
  4. Para Windows, abra el símbolo del sistema y escriba ipconfig.
  5. Desplácese por la salida hasta que encuentre el nombre de la red de solo host que acaba de crear. Use esta Dirección IPv4 y Máscara para la configuración de red de VirtualBox.
  6. Cierre el Administrador de red del host.
  7. Abra la configuración de su VM cliente. En Red, Habilite el Adaptador 2, seleccione Adaptador solo de host y, a continuación, el nombre es el nombre de su red de solo host recién creada.
  8. Repita el último paso para la máquina virtual de su servidor CentOS. Además, vaya al Reenvío de puertos del Adaptador 1 en la pestaña Avanzado y cree una nueva regla. Establezca los puertos host e invitado en 22.
  9. Antes de cerrar la configuración avanzada, tenga en cuenta la dirección MAC.

Parte III - Configuración del servidor

  1. Inicie su VM CentOS.
  2. Ejecutar yum check-update, yum upgradey yum clean all.
  3. Ejecutar nmtui.
  4. Presiona enter sobre "Editar una conexión".
  5. Debería ver "enp03s" y una "Conexión por cable 1". a. Si tiene dos opciones de conexión pero no está seguro de cuál es cuál, vaya a editar una. Si el valor del dispositivo coincide con la dirección MAC que se ve en el Adaptador 1 de la Parte II, entonces es su conexión NAT, de lo contrario es su conexión de solo host.
  6. Edite su conexión de solo host: a. Establezca la configuración de IPv4 en "manual". B. Mostrar la configuración de IPv4 c. En VirtualBox, presione CTRL + W. Junto a su nombre de red de solo host, debería ver una combinación de Dirección IP / Máscara del formulario “[ip] / [máscara]”. En su servidor bajo configuración IPv4, esto es lo que escribirá después de presionar <Add…>. re. Baja y presiona OK.
  7. Asegúrese de que la opción "Conectar automáticamente" esté marcada para sus conexiones solo de host y NAT.
  8. Navegar fuera de nmtuiy reboot.

Parte IV - Configuración y uso del cliente

  1. Arranque su VM de cliente.
  2. (opcional) Edite / etc / hosts para incluir una línea del formulario: [serv_ip_addr] [hostname] Donde serv_ip_addr es la dirección IP de su servidor CentOS (segunda salida de hostname -Isu terminal CentOS). Esto le permitirá usar lo que elija para [nombre de host] de manera intercambiable con la dirección IP de su servidor. Por lo general, solo configuro esto en el nombre de host elegido en la parte II.
  3. Si todo funcionaba hasta este punto, debería poder [user]@[hostname]ingresar a su servidor CentOS. Si este no es el caso, puede que tenga que instalar openssh-clienty openssh-serveren sus máquinas.

Parte V - Servir sitios web

  1. Esta es una excelente guía para alojar sus propios sitios web desde una configuración como se describe anteriormente.
Frosh_VII
fuente
0

Tuve que resolver este problema agregando una regla ufw para el segundo adaptador:

ufw allow in on enp0s8 to 192.168.56.101 port 22 proto tcp

donde enp0s8 es el nombre de mi segundo adaptador (en distribuciones antiguas de Ubuntu, esto era eth1).

janb
fuente
-1

En su cuadro de Linux (VirtualBox Ubuntu), abra la Terminal e ingrese el siguiente comando: sudo service ssh start

Intenta conectarte nuevamente después de esto

Oh mi mal, me perdí lo que Gronostaj señaló

OK, a veces las soluciones son realmente simples. Recientemente enfrenté el mismo problema con Slackware Guest en Windows 7 Host. Todo lo que tenía que hacer era ifconfig up eth'X 'y asignar IP 192.168.56.xxx sub net 255.255.255.0 (si el adaptador solo es host) Esta pregunta tiene casi un año de antigüedad, así que menciono esto para alguien como yo tropieza en esta página buscando "conexión ssh rechazada" ;-)

Deloader
fuente
OP había declarado que las conexiones SSH locales funcionan, por lo que el servidor se está ejecutando.
gronostaj
-2

Tuve el mismo problema, lo resolvió agregando un disco duro virtual a la VM, que no tenía ninguno.

Louis Garczynski
fuente
Eso significa que tu problema fue diferente. Si su máquina virtual no tenía un disco duro, no se arrancó en un sistema operativo, que era la máquina virtual de OP. Lea las preguntas detenidamente para asegurarse de comprenderlas antes de responder.
music2myear
Esto no proporciona una respuesta a la pregunta. Una vez que tenga suficiente reputación , podrá comentar cualquier publicación ; en su lugar, proporcione respuestas que no requieran una aclaración del autor de la pregunta . - De la opinión
music2myear
Mi VM se inició en un archivo ISO Linux de 32 bits, sin disco duro virtual adicional
Louis Garczynski
Lo que significa que estaba ejecutando una sesión de Linux "en vivo", que definitivamente no es con lo que OP estaba tratando. Nos complace que haya resuelto su problema, pero su solución no es la solución, o particularmente ni siquiera, lo que OP estaba experimentando.
music2myear
Tienes toda la razón, no me di cuenta de que el problema de OP era tan específico. Dicho esto, considerando que recibí el mismo mensaje de error, mantendré la respuesta aquí, en caso de que alguien con mi problema termine aquí también.
Louis Garczynski