Come ssh nel tuo ospite virtualbox

Come ssh nel tuo ospite virtualbox
Ci sono momenti in cui vuoi avere un accesso remoto alla tua VM. Forse, è solo un sistema operativo server in esecuzione come VM, in cui si testano le tue applicazioni prima di distribuirle effettivamente.

Avere la capacità di SSH nel sistema operativo ospite può tornare utile quando non si desidera usare la GUI della tua macchina virtuale. Basta avviare la VM in modalità senza testa e SSH dentro e fuori di essa senza avere più finestre aperte nel tuo terminale.

Per coloro che sono nuovi all'idea di SSH, avremo una breve introduzione al funzionamento di SSH prima di immergersi nella configurazione. Inoltre dovremmo discutere le impostazioni relative alla rete della tua VM per assicurarci di avere accesso a quella VM da qualsiasi parte della tua LAN.

Come funziona SSH-Keys?

Ecco il modello semplificato di come funziona SSH. Crei un paio di chiavi sul tuo computer locale. Una chiave pubblica e una chiave privata. I messaggi crittografati utilizzando la chiave pubblica possono essere decrittografati utilizzando la chiave privata e viceversa. Queste chiavi sono solitamente memorizzate sul tuo computer locale su un percorso ~/.SSH/ID_RSA(chiave privata) e~/.SSH/ID_RSA.PEM(la chiave pubblica).

Quindi vai al tuo server remoto, accedi a una console come utente normale o root, apri il file ~/.SSH/AUTORITED_KEYSdi quel server. Qui inserisci il contenuto della tua chiave pubblica così com'è. Una volta fatto ciò, è possibile SSH come utente sul server di cui .La directory SSH ha il DOUTORIZE_KEYS, dal tuo dispositivo locale.

IL .PEM L'estensione significa che quel file è la chiave pubblica che puoi condividere con chiunque. IL Id_Rsa parte Significa solo ciò che viene utilizzata la crittografia (in questo caso è RSA). La chiave privata può essere ulteriormente protetta da una passphrase che dovresti inserire, ogni volta che si desidera accedere a un server remoto utilizzando quella chiave privata.

Se hai un Mac, Linux o qualsiasi altro sistema simile a Unix come computer locale, puoi generare e gestire i tasti utilizzando il terminale e puoi anche SSH in server remoti utilizzando lo stesso terminale. Per gli utenti di Windows, suggerirei di usare PUTTY o Git Bash quest'ultimo è la mia preferenza personale. I comandi sono praticamente gli stessi una volta che hai un client SSH.

SSH-Keys Setup

Per prima cosa assicurati, se non ci sono già SSH-Keys nella tua home directory. Controlla il contenuto della tua home directory .ssh cartella. In caso di dubbio, eseguire il backup dei suoi contenuti prima di eseguire il seguente comando. Programmi come FileZilla usano sempre le chiavi SSH, a conoscenza dell'utente, quindi questo passaggio è piuttosto cruciale.

Nel tuo macchina locale, Apri il terminale e inserisci il comando:

$ ssh-keygen

Questo sarà seguito dai seguenti istruzioni con valori nella staffa che indicano i valori predefiniti. Procedere con le istruzioni e dare alle chiavi una passphrase sicura.

Verifica che le chiavi siano create controllando il contenuto del tuo ~/.ssh cartella.

$ ls -al ~/.ssh

Se si vedono i file che corrispondono ai valori predefiniti visualizzati in ssh-keygen prompt quindi tutto ha funzionato bene.

Ora apri una console al tuo Macchina virtuale. Prima controlla se la VM ha un server SSH in esecuzione o no.

$ SERVIZIO STATO SSHD

Se non è installato, utilizzare il gestore pacchetti per cercare e installare OpenSsh Server. Una volta fatto, assicurati che il firewall della VM sia aperto sul numero di porta 22. Ad esempio, se si utilizza Ubuntu come VM, il firewall predefinito ufw dovrebbe essere disabilitato o dovrebbe consentire connessioni della porta 22 come così:

$ sudo ufw status

Se non è aperto alla porta 22, usa il comando di seguito:

$ sudo ufw consenti ssh

Quindi apri il file ~/.SSH/AUTORITED_KEYS Sulla tua VM, usando il tuo editor di testo preferito. Potresti voler abilitare gli appunti host-to-guard o bidirezionale per questo passaggio successivo.

All'interno di questo file (nella parte inferiore del file, se non è vuoto) incolla nel contenuto del tuo chiave pubblica. L'ultima parte in cui dice il tuo nome e l'host locale in cui sono state generate le chiavi non è così importante come il resto della stringa.

(Facoltativo) Non usando ssh-keys

Se ti fidi della tua rete locale, puoi utilizzare il metodo meno sicuro per l'utilizzo della password UNIX, per SSH nella VM. Apri il file /etc/ssh/sshd_config Sul tuo VM e sostituire la linea:

#PasswordAuthentication NO
A
Passwordautenticazione Sì

Una volta che è in atto, riavvia il server SSH.

$ SERVIZIO SSHD Riavvia

Ora puoi utilizzare la password normale che usi per accedere alla tua VM a SSH in essa.

La tua macchina virtuale e la tua rete

Per te per SSH nella tua VM, sia il tuo computer locale (quello con la chiave privata) che la VM dovrebbe essere sulla stessa rete. Quindi puoi raggiungere l'indirizzo IP di quella VM. Ti mostreremo come aggiungere la VM alla tua LAN.

Consideriamo l'esempio di una tipica configurazione del router domestico. Il tuo computer, insieme ad altri dispositivi, è collegato al router Home. Questo router funge anche da server DHCP, il che significa che assegna ciascun dispositivo collegato ad esso, un indirizzo IP privato univoco. Il tuo desktop ottiene un IP, quindi fa il tuo telefono e il tuo laptop. Solo i dispositivi che sono collegati a questo router possono parlarsi tra loro tramite i loro indirizzi IP.

Abilita la modalità Networking Bridged nelle impostazioni della VM e la VM verrà visualizzata come connessa al router di casa (o un server DHCP simile) con un IP privato. Se un secondo dispositivo è collegato alla stessa rete (diciamo, allo stesso router Home), può essere utilizzato per SSH nella VM.

Apri VirtualBox Manager, seleziona la VM di destinazione, apri il Impostazioni → Rete e seleziona bridge networking invece di NAT.

Come puoi vedere, il mio host è collegato usando wireless in modo che la connessione sia condivisa anche dalla VM, se si utilizza Ethernet, un nome di interfaccia diverso si mostrerebbe che va bene.

Ora, la mia VM, che si chiama ubuntuvm, si presenta sulla mia configurazione LAN come seguente. Controlla le impostazioni del router per vedere se lo stesso funziona per te.

Una volta che conosci l'indirizzo IP della tua VM, puoi SSH in esso eseguendo il comando:

$ ssh @ip.indirizzo.Di.tuo.VM

Se hai messo una passphrase per la tua chiave privata nei passaggi precedenti, ti verrà richiesto di rientrarla.

Questo è tutto! Ora puoi iniziare le VM in modalità Headless e solo SSH da qualsiasi parte della tua casa. Spero che tu abbia trovato questo tutorial interessante, facci sapere se c'è qualche argomento che vorresti che copriamo.