SSH in VM Ubuntu da remoto


10

Non ho molta esperienza sulla rete o su Linux, ma sto cercando di entrare in una macchina virtuale Ubuntu al di fuori della mia rete domestica. La macchina virtuale Ubuntu (VirtualBox) è in esecuzione su un desktop Debian. Ho fatto alcune ricerche e ho scoperto che dovevo inoltrare la porta 22 dal router alla macchina virtuale.

  • Ho modificato le impostazioni di rete sulla VM per il bridge.
  • Sto inoltrando la porta alla VM.
  • Ho controllato ( http://www.yougetsignal.com/ ) per mostrare la porta come aperta.

Ma quando provo a connettermi non funziona ancora. ssh username @ - connessione rifiutata

C'è qualcosa che devo fare all'interno della macchina virtuale per consentire le connessioni in entrata? O inoltrare qualsiasi porta?

C'è qualcosa che sto facendo di sbagliato, qualsiasi aiuto sarebbe molto apprezzato !!


In che modo la VM è collegata in rete con l'host. Se dietro un NAT (impostazione predefinita sulla scatola virtuale). Non funzionerebbe ma una connessione a ponte dovrebbe funzionare a condizione che le porte siano state inoltrate correttamente.
Matt Mootz,

Stai usando ssh username @ router-ip-address giusto?
cprofitt,

1
si nome utente @ indirizzo IP pubblico è giusto?
user1354275,

Ubuntu pronto all'uso include client OpenSSH , che consente di connettersi a un altro computer che esegue il server SSH. Per connettersi 'a' Ubuntu, è necessario caricare il server OpenSSH ( sudo apt-get install openssh-server ) sul computer di destinazione.
david6,

Risposte:


15

Per impostazione predefinita, VirtualBox funziona in modalità "NAT", il che significa che crea una rete "virtuale" e traduce gli accessi alla rete dalla VM in modo che al mondo esterno sembrino provenire dal tuo computer reale.

VirtualBox fa pensare alla VM di essere connessa a una rete, ma in realtà VirtualBox fornisce servizi di rete, incluso un mini server DHCP. Quindi, VirtualBox accede alla rete "per conto" della VM, facendola apparire come un'altra applicazione in esecuzione sul PC.

Tuttavia, ciò significa che il mondo esterno non conosce veramente la VM e non può accedervi direttamente.

Penso che il reindirizzamento delle porte effettuato sia stato dal router di casa al PC, non alla VM. È possibile che manchi qualche configurazione sul lato VirtualBox. Mi scuso se l'hai già fatto, ma la tua domanda non era chiara al riguardo.

Fondamentalmente devi cambiare la configurazione di rete della VM e impostarla su "Bridged". Ciò che fa è, crea un'interfaccia virtuale sul tuo PC e fa in modo che la VM lo usi per accedere al mondo esterno; qualsiasi cosa che entri o vada a quell'interfaccia viene reindirizzata alla VM. Pertanto, la VM sarà visibile come un'altra macchina nella rete a cui è collegato il tuo PC (ha anche un proprio indirizzo MAC!).

Quindi, a seconda della configurazione della rete, la VM potrebbe ottenere un indirizzo DHCP come qualsiasi altro PC collegato al router, oppure potrebbe essere necessario configurare un indirizzo IP statico per esso. Questo dipende dalla configurazione della rete.

Una volta che la VM ha un indirizzo "reale", sul router è possibile seguire le istruzioni trovate per instradare la porta 22 all'indirizzo IP della VM. Questo dovrebbe funzionare come previsto.

In caso contrario:

  • Guarda la configurazione del firewall della tua VM (iptables -L -n). Sta bloccando qualcosa?
  • Configurare un altro computer sulla rete locale e provare a SSH all'indirizzo IP della VM. Se possibile, è necessario ricontrollare la configurazione di inoltro nel router. In caso contrario, è necessario ricontrollare la configurazione SSH e il firewall della VM.

Ciao roadmr, ho modificato le impostazioni di rete in bridge e ho inoltrato la porta alla VM poiché ha il suo IP e il router è stato in grado di trovarla. Ho un IP statico dall'isp. Ma non funziona ancora
user1354275,

1

da quello che posso raccogliere, il tuo problema risiede nella rete del tuo server server, perché una volta impostato la rete vm in modalità bridge, sei a posto (controlla con ssh <your.vm.ip.number>dalla riga di comando del tuo server - non in vm).

il tuo server è dietro un router, proprio come un vm che utilizza NAT nella tua macchina.

È necessario contattare l'amministratore di rete del server in modo che possa inoltrare l'indirizzo IP locale della propria VM a una porta / intervallo di porte (assicurarsi che la propria VM abbia un indirizzo IP statico).

Puoi farlo tu stesso se avessi l'autorità sul tuo gateway server per farlo.

un po 'di visualizzazione:

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
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.