SSH nel guest VirtualBox: connessione rifiutata


21

Impostare

  • Sistema operativo host Windows 7 a 64 bit con VirtualBox 4.2, con sistema operativo guest Ubuntu 12.04.
  • Il server OpenSSH è installato e in esecuzione ( ssh -v localhost si connette localmente nel computer guest).
  • Può SSH su server esterni (nessuna regola firewall Windows in uscita blocca la porta 22)
  • Può eseguire il ping dell'IP del guest (192.168.56.101)

Problema

Utilizzando PuTTY su SSH per l'IP del SO guest (192.168.56.101), PuTTY ritorna quasi immediatamente con

Errore di rete: connessione rifiutata

Come posso diagnosticare e risolvere questo problema?

Risposte:


10

Sei sicuro che l'IP sia per il SO guest. Ho avuto lo stesso problema e ho scoperto che l'IP che stavo usando da sempre, 192.168.56.101 era in realtà l'IP dell'interfaccia di Windows e l'IP del sistema operativo host era 192.168.56.103.

È possibile verificare facendo ipconfig / ifconfig su entrambi.

NOTA: avevo anche impostato un IP statico che risulta non necessario. Nel caso in cui provi dall'inizio ho trovato questo tutorial migliore.


6
+1, L'impostazione predefinita di VirtualBox è quella di creare un guest la cui scheda di rete virtuale è NAT tramite VirtualBox stesso. Pertanto un tale ospite sarebbe in grado di uscire da SSH e sarebbe in grado di SSH stesso , ma non sarebbe in grado di ricevere connessioni SSH fino a quando non verranno create le regole di Port Forwarding in VirtualBox.
Gord Thompson,

+1 Dopo 1h di pasticcio di Google, finalmente! Ho pensato che .101 era l'ospite, non l'host!
Afr

6

Nessuna delle altre soluzioni è valida perché:

  1. Non ha senso ssh per il tuo ospite tramite bridge se perde l'accesso a Internet
  2. Tutte le altre soluzioni sopra ti dicono di costruire un razzo per attraversare la strada.

Scenario

  • Ospita Ubuntu Desktop 16.04
  • Guest Ubuntu Server 16.04 (in esecuzione su Virtual box 5)

Problema

Connessione SSH rifiutata

Soluzione

  1. Chiudi il tuo guest Ubuntu
  2. Su Virtualbox vai su Impostazioni> rete> Adattatore1> Avanzate> Portforwarding
  3. Nome = SSH Hostport = 2022 (o qualsiasi porta tranne 22) Guestport (22)
  4. Riavvia il tuo ospite
  5. Sul tuo host apri un Putty o qualunque cosa tu usi per SSH
  6. ssh user@127.0.0.1 -p2022 (o qualsiasi porta che hai citato come hostport)
  7. Buon divertimento

ho un problema con questo: su Virtualbox Setting> network> Adapter1> Advanced> Portforwarding è grigio non cliccabile. imgur.com/seT3p02
SL5net

@ SL5net spegne la VM
Alon Gouldman

2

Per me funziona quanto segue:

Prima:

vboxnet0: 192.168.56.1
eth1:     192.168.56.1

Dopo:

vboxnet0: 192.168.56.1
eth1:     192.168.56.101

Quindi, sostanzialmente ho cambiato parte del file {/ etc / network / interfaces} come segue:

Prima:

auto eth1
iface eth1 inet static
address 192.168.56.1
netmask 255.255.255.0 

Dopo:

auto eth1
iface eth1 inet static
address 192.168.56.101
netmask 255.255.255.0 

Lavori: ssh username@192.168.56.101


Non so perché, questo ha funzionato per me. Grazie @Mausa
murarisumit

2

Secure Shell (SSH) è un protocollo per l'accesso e l'esecuzione di comandi su macchine remote. Fornisce comunicazioni crittografate sicure. Se si prevede di accedere in remoto alla macchina tramite SSH tramite un'interfaccia con firewall, abilitare questa opzione. È necessario che il pacchetto openssh-server sia installato affinché questa opzione sia utile.

Ecco le informazioni che il pacchetto openssh-serverdeve essere installato. Dopo averlo fatto sul guest e riavviato il VM, puoi usare ssh.


Non ho riavviato Ubuntu 16.04 e funzionava ancora. Grazie :)
Oren Milman,

1

È necessario verificare che il firewall del sistema operativo guest non blocchi le connessioni in entrata sulla porta 22.


1
Il firewall del SO guest è disabilitato. Questo è il valore predefinito e ho verificato che è disabilitato con sudo ufw status.
Eric J.

1

Forse è un problema con il controllo degli accessi. Per disabilitarlo e consentire l'accesso completo, come root:

xhosts +

Ho avuto un problema simile con il visualizzatore VNC


1
Ne dubito davvero, IMHO sshd non ha nulla a che fare con X - contrariamente a vnc.
mpy

1

Il problema è stato risolto abilitando il server DHCP sulla scheda di rete VirtualBox.

VirtualBox (ultima versione, versione 5) -> File -> Preferenze -> Rete -> Reti solo host (scheda) -> Dettagli reti solo host (strumento Icona) -> Server DHCP

  1. Spuntare Abilita server
  2. Inserisci l'indirizzo IP
  3. OK OK
  4. Riavvia la macchina virtuale

Le mie impostazioni per il passaggio 2

  1. Indirizzo server: 192.168.56.100
  2. Maschera server: 255.255.255.0
  3. Limite indirizzo inferiore: 192.168.56.101
  4. Indirizzo superiore rilegato: 192.168.56.200

1

Ehi, sto solo tornando alla prima pagina che ho trovato nella mia mini-saga sulla risoluzione dei problemi e la ricerca, sperando che questo tutorial che ho fatto possa salvare qualcun altro tutta la seccatura.

Guida dall'inizio alla configurazione di un server CentOS con Oracle VM:

Parte I - Installazione della macchina virtuale

  1. Installa Oracle VM VirtualBox e il pacchetto di espansione qui .
  2. Scarica qui l' installazione minima di CentOS .
  3. Per questo tutorial, sto usando un client Ubuntu. L'ISO per questo può essere trovato qui .
  4. Creare il server CentOS e le macchine virtuali client.
  5. Installa la VM CentOS. un. Apri Destinazione di installazione e premi Indietro. b. Vai su Rete e Nome host se desideri modificare il nome host, che consiglio. c. Sentiti libero di configurare gli elementi in Localizzazione. Tutto il resto viene gestito automaticamente da VirtualBox. d. Premere per iniziare l'installazione. e. Crea sia un account root che un account normale. Assicurarsi che quest'ultimo disponga dei diritti di amministratore. f. Quando la barra di caricamento è piena, premere Riavvia.
  6. Configura la tua VM client. un. Installa aggiunte guest VirtualBox.

Parte II - Configurazione della rete virtuale

  1. In VirtualBox, premere CTRL + W.
  2. Crea una nuova rete host. un. Se ricevi un errore, ciò è probabilmente dovuto al tuo sistema operativo host che causa problemi di VirtualBox durante l'installazione dei suoi driver. Sarà necessario disinstallare completamente VirtualBox e reinstallare l'ultima versione. Assicurati di eseguire l'installazione come amministratore.
  3. Nella scheda Scheda, selezionare "Configura scheda manualmente"
  4. Per Windows, apri il Prompt dei comandi e digita ipconfig.
  5. Scorri l'output fino a trovare il nome della rete solo host che hai appena creato. Utilizzare questo indirizzo e maschera IPv4 per la configurazione di rete VirtualBox.
  6. Chiudi il gestore di rete host.
  7. Apri le impostazioni della VM client. In Rete, Abilita adattatore 2, selezionare Adattatore solo host, quindi il nome è il nome della rete solo host appena creata.
  8. Ripetere l'ultimo passaggio per la VM del server CentOS. Inoltre, vai al Port Forwarding dell'adapter 1 nella scheda Avanzate e crea una nuova regola. Impostare le porte host e guest su 22.
  9. Prima di chiudere le impostazioni avanzate, prendere nota dell'indirizzo MAC.

Parte III - Configurazione del server

  1. Avvia la tua VM CentOS.
  2. Run yum check-update, yum upgradee yum clean all.
  3. Corri nmtui.
  4. Premi invio su "Modifica una connessione".
  5. Dovresti vedere "enp03s" e una "Connessione cablata 1". un. Se hai due opzioni di connessione ma non sei sicuro di quale sia, vai a modificarne una. Se il valore del dispositivo corrisponde all'indirizzo MAC visualizzato nell'adattatore 1 dalla parte II, allora è la tua connessione NAT, altrimenti è la tua sola connessione host.
  6. Modifica la tua connessione solo host: a. Impostare la configurazione IPv4 su "manuale". B. Mostra configurazione IPv4 c. In VirtualBox, premere CTRL + W. Accanto al nome della tua rete solo host, dovresti vedere la combinazione indirizzo / maschera IP del modulo "[ip] / [maschera]". Sul tuo server in configurazione IPv4, questo è ciò che digiterai dopo aver premuto <Add…>. d. Scendi e premi OK.
  7. Assicurati che l'opzione "Connetti automaticamente" sia selezionata per le connessioni solo host e NAT.
  8. Esci da nmtuie reboot.

Parte IV - Configurazione e utilizzo del client

  1. Avvia la VM client.
  2. (facoltativo) Modifica / etc / hosts per includere la riga a del modulo: [serv_ip_addr] [nomehost] Dove serv_ip_addr è l'indirizzo IP del tuo server CentOS (seconda uscita hostname -Inel tuo terminale CentOS). Ciò ti consentirà di utilizzare ciò che hai scelto per [nomehost] in modo intercambiabile con l'indirizzo IP del tuo server. Normalmente ho impostato questo sul nome host scelto nella parte II.
  3. Se tutto ha funzionato fino a questo punto, dovresti essere in grado di accedere al [user]@[hostname]tuo server CentOS. In caso contrario, potrebbe essere necessario installare openssh-cliente openssh-serversui computer.

Parte V - Servizi di siti Web

  1. Questa è un'eccellente guida sull'hosting dei propri siti Web da un'installazione come descritto sopra.

0

Ho dovuto risolvere questo problema aggiungendo una regola ufw per il 2 ° adattatore:

ufw allow in on enp0s8 to 192.168.56.101 port 22 proto tcp

dove enp0s8 è il nome del mio secondo adattatore (sulle vecchie distribuzioni Ubuntu questo era eth1).


-1

Nella tua casella Linux (VirtualBox Ubuntu), apri il Terminale e inserisci il seguente comando: sudo service ssh start

Prova a connetterti di nuovo dopo questo

Oh mio Dio, mi sono perso quello che Gronostaj ha sottolineato

OK a volte le soluzioni sono davvero semplici. di recente ho riscontrato lo stesso problema con il guest Slackware sull'host Windows 7. Tutto quello che dovevo fare era ifconfig up eth'X 'e assegnare la sottorete IP 192.168.56.xxx 255.255.255.0 (se l'adattatore solo host) Questa domanda ha quasi un anno, quindi sto citando questo per qualcuno come me inciampa in questa pagina alla ricerca di "connessione ssh rifiutata" ;-)


OP ha dichiarato che le connessioni SSH locali funzionano, quindi il server è in esecuzione.
gronostaj,

-2

Ha avuto lo stesso problema, risolto aggiungendo un disco rigido virtuale alla VM, che non ne aveva.


Ciò significa che il tuo problema era diverso. Se la tua VM non aveva un disco rigido, non era avviata su un sistema operativo, come era la VM OPs. Si prega di leggere attentamente le domande per assicurarsi di averle comprese prima di rispondere.
music2myear,

Questo non fornisce una risposta alla domanda. Una volta che hai una reputazione sufficiente , sarai in grado di commentare qualsiasi post ; fornire invece risposte che non richiedono chiarimenti da parte del richiedente . - Dalla recensione
music2myear,

La mia VM è stata avviata su un file ISO a 32 bit di Linux, senza disco rigido virtuale aggiuntivo
Louis Garczynski,

Il che significa che stavi eseguendo una sessione Linux "Live", che sicuramente non è ciò con cui OP stava trattando. Siamo lieti che tu abbia risolto il tuo problema, ma la tua soluzione non è la soluzione, o particolarmente vicina a ciò che OP stava vivendo.
music2myear

Hai assolutamente ragione, non avevo realizzato che il problema di OP fosse così specifico. Detto questo, considerando che ho ricevuto lo stesso messaggio di errore, terrò la risposta qui, nel caso in cui qualcuno con il mio problema finisca anche qui.
Louis Garczynski,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.