Mi sono trovato nella necessità di fare un tunnel smb over ssh, per motivi al momento non importanti. Ho trovato diversi riferimenti, ma tutti frammentari o inesatti, quindi ho fatto alcune prove e sono riuscito a trovare una procedura che funziona.
Assumiamo che il server SSH sia correttamente funzionante e accetti connessioni dall’esterno.
Tutti la documentazione che ho trovato sostiene che sia necessario, per un client XP, disinstallare la “Condivisione Files e Stampanti”, in realtà non è vero. Ecco i passi necessari, dove supponiamo che l’indirizzo privato del server sia 10.0.0.1, ed il client sia PuTTY su WinXP (la procedura è simile per Win2000). Nessuna operazione è necessaria sul server.
- Disattivare “Condivisione files e stampanti per reti Microsoft” (basta disattivare la checkbox), nelle proprietà della scheda di rete che si usa per la connessione.
- Lasciare attivo “Client per reti Microsoft”, poi vi dico perchè.
- Fermare il servizio “Server”: da riga di comando impartire
net stop server
, e confermare anche l’arresto del servizio browser. - In PuTTY, creare un tunnel che abbia come source “127.0.0.1:139” (ci sta anche se la casella è piccola) e target 10.0.0.1:139.
- Connettersi al server e aprire le share su
\127.0.0.1
.
Se tutto è andato a buon fine si dovrebbero vedere le condivisioni sul server. Si possono navigare o connettere come unità di rete.
Per ragioni di sicurezza, l’utente abilitato alla connessione SSH potrebbe non avere alcun permesso sul filesystem, per questa ragione dopo aver digitato \127.0.0.1
, potrebbe apparire la richiesta di login, che va compilata con le credenziali di un utente che abbia accesso alle share. Questo è il motivo per cui bisogna lasciare attivo “Client per reti Microsoft”.
Ho verificato questo metodo con diverse coppie di client/server e ha sempre funzionato.
Attenzione: fermando il servizio server vengono chiuse tutte le eventuali connessioni alle condivisioni presenti sulla macchina, quindi fate attenzione. Per far ripartire il servizio senza riavviare la macchina è sufficiente un net start server
e riabilitare “Condivisione files e stampanti per reti Microsoft”.
Commenti
3 risposte a “Tunnel Samba su SSH”
il problema di disattivare la condivisione dei file e delle
stampanti può essere aggirato installando sul pc una scheda di loopback virtuale microsoft.A questo punto gli assegni un
indirizzo di rete privato e come gateway e dns metti quelli che hai nella nic principale.Ovviamente a questa scheda va disabilitato il servizio di condivisione ed il netbios over tcp (ma a noi questo non importa perché il servizio rimane attivo sulla nic principale). A questo punto dirotti il tunnel sulla scheda virtuale e voilà il gioco è fatto!
in risorse di rete o in un browser metti \ip_loopback_virtuale!
Attenzione su alcuni pc xp sp2 va installata una patch kb884020.
Ho usato questa ottima soluzione del tunnel SSH per collegarmi da un client Windows XP ad un server SSH su linux.Tutto perfetto fino a che non ho installato Windows 7 come client col quale non riesco assolutamente a mappare una unità di rete alla cartella remota.
Questa procedura non funziona con Win7 ho sono io che sbaglio qualche passaggio ?
Il problema di windows 7 potrebbe essere legato al valore della chiave LmCompatibilityLevel impostato a 4 (forza l’autenticazione NTLMv2 128bit) sia in HKLM\System\CurrentControlSet\Control\Lsa\ che in
HKLM\System\ControlSet001\Control\Lsa.
A seconda della versione di Samba e della sua configurazione, potrebbe essere necessario modificare il valore di quella chiave (o la configurazione sul server samba, of course).
Il massimo della apertura dal lato del client è dato dal valore 1, corrispondente a: “Send LM & NTLM – use NTLMv2 session security if negotiated”; con questo settaggio dovrebbe essere possibile usare qualunque configurazione di samba.