SFTP tra la macchina virtuale guest e il suo host

1

Il sistema

Sto usando l'host di Windows 7 con Cygwin e una macchina virtuale con Linux. Il guest in esecuzione reale è un ISO di Arch Linux.

L'obiettivo

Voglio condividere i file tra l'host Cygwin e l'ospite Arch.

Soluzione possibile

Una buona soluzione sembra il protocollo SFTP, che usa l'host Cygwin come server, perché SSH è disponibile immediatamente in Arch ed è facile configurare un deamon SSHD in Cygwin.

Voglio ridurre la superficie di attacco esterna e idealmente solo il guest Linux virtuale dovrebbe essere in grado di loggarsi in remoto.

Vincoli / sfide

  1. Il daemon Windows Cygwin SSHD viene eseguito sull'account locale che utilizzo normalmente per i miei progetti, non sarebbe pratico utilizzare una password molto lunga e complessa (poiché questa è la password reinserita ogni volta che lascio la mia scrivania).
    Sarebbe bello usare una password diversa per SSH, ma penso che in questo caso dovrei creare un account diverso con una directory home utente diversa, che renderebbe difficile la condivisione dei file.

  2. L'IP guest viene assegnato dinamicamente dal software dell'applicazione della macchina virtuale. Pertanto è difficile limitare l'accesso degli IP remoti a SSH.

  3. Ho bisogno di controllare spesso il mio progetto contro le nuove versioni di Arch Linux, quindi parto da una ISO pulita e installo i miei file di progetto tramite la condivisione SFTP. Pertanto non riesco a inserire facilmente una chiave privata sul client, poiché i file arrivano al sistema guest quando la connessione è già stabilita.

Sicurezza della soluzione

Le mie idee attuali consistono nel combinare una password alfanumerica con una restrizione delle connessioni remote allo spazio degli indirizzi privato, tramite i file di controllo di accesso host:

# /etc/hosts.allow
sshd: 192.168.0.0/255.255.255.0

# /etc/hosts.deny
sshd: ALL

Questo non è ancora soddisfacente, dal momento che un hacker in una rete Wi-Fi pubblica potrebbe forzare la password.

Se esistono modi più sicuri o più efficienti per condividere file tra computer host e guest, si prega di compilare una risposta.

Aggiornamento

Attualmente sto usando VMware Player, ma faccio anche i miei test con Virtual Box.

Cartelle condivise

Qualcuno ha suggerito l'uso di cartelle condivise. Come indicato nel sub 3, ho spesso bisogno di testare i miei progetti rispetto all'attuale ISO.

Le cartelle condivise VMware non hanno un pacchetto Arch ufficiale. Le cartelle condivise di VirtualBox hanno un pacchetto ufficiale di Arch, ma ho visto che spesso è necessario riavviare per rendere effettive le modifiche, il che è inutile nell'ambiente statico ISO.

    
posta antonio 13.09.2014 - 17:32
fonte

1 risposta

1

Non ho familiarità con VMWare Player, ma con VirtualBox, se la rete è in modalità "NAT" (o presumibilmente, modalità solo host, ma non l'ho ancora testata), l'indirizzo IP sorgente per la rete le connessioni dal guest all'host sono l'indirizzo della scheda di rete dell'host. Ad esempio, se l'indirizzo dell'host è 192.168.0.10, le connessioni dal guest verranno visualizzate come provenienti da porte con numeri elevati su 192.168.0.10.

Se imposti il tuo file hosts.allow per consentire solo le connessioni dall'indirizzo pubblico dell'host VM, questo dovrebbe fornire la sicurezza di cui hai bisogno.

Come opzione alternativa, VirtualBox supporta "cartelle condivise": porzioni del filesystem dell'host accessibili dall'ospite. Ciò richiede però un software di supporto sul guest e un LiveCD di Arch potrebbe non averlo.

    
risposta data 13.09.2014 - 20:32
fonte

Leggi altre domande sui tag