Come posso ssh in un guest ubuntu - in esecuzione su un host win10 - da un server Linux remoto?


10

Versione breve

Se sto eseguendo una VM VirtualBox guest Ubuntu da un host Windows 10, quali passi devo prendere sshda un server Linux remoto nella VM guest Ubuntu?


_______________________
[                     ]
[ Windows 10          ]
[ ___________________ ]            ____________________
[ [                  ]]            [                   ]
[ [ Ubuntu VM (guest) <----HOW?---- SUSE remote server ]
[ [__________________]]            [___________________]
[_____________________]

Versione lunga

Sono confuso perché, AFAIK se non stavo usando una VM guest Ubuntu, e invece stavo usando una vera macchina Ubuntu, potrei semplicemente cat /etc/hoststrovare l'indirizzo IP locale e poi da remoto solo:

user@remote --ssh--> user@<local IP>

Ho già impostato i tasti SSH in modo da poter inviare SSH dal guest Ubuntu al server remoto SUSE (cioè il guest ~/.ssh/id_rsa.pubè già memorizzato nel telecomando ~/.ssh/authorized_keys). Cioè posso già:

ssh -Y user@remote

Senza difficoltà, ma non posso farlo al contrario semplicemente perché non ho idea di quale sia l'indirizzo IP del mio ospite. E ho già provato a sshutilizzare gli indirizzi IP in "Informazioni sulla connessione" dalla GUI di Ubuntu.

Anche per essere chiari:

  • la VM ospite è Ubuntu 12.04 LTS (64 bit)

  • Principalmente le impostazioni di VirtualBox: impostazione predefinita

  • Abilita adattatore di rete: NAT (cavo collegato, nessun port forwarding)

Non ho impostato un server SSH, ma non sono sicuro che sia necessario (?), Questa è la mia comprensione finora.

Quindi, dato che sto eseguendo una VM VirtualBox guest Ubuntu da un host Windows 10, quali passi devo prendere sshda un server Linux remoto nella VM guest Ubuntu?

Risposte:


14

Questa situazione viene generalmente definita "doppia NAT" quando si è dietro un router. È necessario inoltrare dal router di frontiera al sistema Windows, quindi inoltrare in VBox alla VM. Potrebbe anche essere necessario inoltrare la porta 22 dalla connessione di rete effettiva all'adattatore NAT VBox, ma non sono così chiaro su quello per Windows.

Alla fine, però, ci sono al massimo tre cose che dovrai fare qui. Sono tutti in Windows o non in Ubuntu Linux, quindi la maggior parte delle tue risposte sarà su Super User o altrove.

  1. (Se sei dietro un router sulla tua rete con Win10 acceso) Configura Port Forwarding sul tuo router sulla rete per inoltrare la Porta 22 al tuo sistema Windows 10.

  2. Impostare Windows Firewall per consentire le connessioni in entrata sulla porta 22. Potrebbe inoltre essere necessario specificare che si desidera inoltrare la porta 22 dalla scheda di rete in entrata alla rete NAT sulle impostazioni della rete VM.

  3. Impostare la regola di inoltro NAT sulla rete NAT in VirtualBox per inoltrare la porta 22 sull'host alla porta 22 sulla macchina virtuale .

Un approccio leggermente più gradevole che in qualche modo ignora i passaggi 2 e 3 è l'utilizzo della modalità a ponte nelle impostazioni di rete della macchina virtuale; questo otterrà quindi un IP dalla stessa rete a cui è collegato il sistema Windows 10 e sarà quindi possibile effettuare il port forwarding della porta 22 sul router perimetrale (passaggio 1) all'IP assegnato dalla rete alla VM stessa. Questo è un po 'meno doloroso rispetto al dover fare più salti e configurazioni per far funzionare la Porta 22.

NOTA: alcuni ISP filtrano la porta 22 in modo che il traffico della porta 22 non raggiunga il sistema; in tal caso potrebbe essere necessario impostare una porta superiore rispetto alla porta 22 (come 2022 o un'altra porta non standard> 1024).


Per quanto riguarda la ricerca dell'IP del guest, tali informazioni saranno nell'output ifconfig -ao ip -4 addr listnel guest Linux. Questa è la parte più semplice di tutto questo, perché sarà la stessa, Bridged o NAT.



1
@hello_there_andy Faccio molta virtualizzazione sul mio laptop, sia tramite contenitori LXC / LXD basati su Linux su una configurazione NAT, sia tramite VMware, con mali simili a NAT (in pratica, sono abituato a questo insieme di problemi, eh). Il processo è simile in Linux e Windows, ma completamente diverso in termini di passaggi, sebbene nei miei casi le mie macchine virtuali non abbiano mai bisogno all'esterno -> in; per quelle macchine virtuali, le ho messe su un hypervisor ESXi dedicato che è una macchina dedicata all'esecuzione di macchine virtuali e lo collego direttamente a una configurazione Ethernet esistente (senza NAT lì eh). Ma questa è una configurazione atipica, ovviamente.
Thomas Ward,

1
@hello_there_andy assicurati che anche il guest abbia openssh-serverinstallato su di esso - in modo da poter accettare SSH. Oltre a ciò, il resto è roba di rete / firewall / configurazione di Windows. (Quindi, Super User e non chiedere a Ubuntu)
Thomas Ward,

3

Avrai bisogno di impostare port forwardinginWindows 10 VM player

Dovrai impostare la porta esterna sul computer con Windows 10, che sarà inoltrato a service portin the virtual machinein NAT network.

Questo link spiega come farlo


1
Sebbene ciò possa teoricamente rispondere alla domanda, generalmente solo le risposte ai link sono disapprovate. È preferibile che tu includa informazioni pertinenti dai post collegati, nel caso in cui tali post scompaiano in futuro.
Thomas Ward,

Grazie per il commento e per aver fornito i dettagli nella tua risposta.
Yaron,
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.