UN tunnel SSH su Mac
Mar, 23 Ottobre 2007 - 23:20
Inviato da: fede_dev
Esistono svariate possibilità di uso di SSH, in questo post analizzeremo la creazione di un tunnel SSH per accedere ad una macchina (server) da remoto, principalmente da un altra macchina (client).
Le configurazioni di un tunnel SSH possono essere fatta in vari modi, da terminal oppure usando alcune applicazioni che ci facilitino il compito e rendano l'operazione fattibili a più utenti. Inoltre uno degli usi principali di un accesso remoto è l'uso di VNC dalla macchina definita come client e pertanto consideremo nel tutorial questa funzionalità.
Le caratteristiche di base che dovrete avere per far seguire ad un tutorial una configurazione reale è una conoscenza minima di un network.
In un network semplificato per non mettervi a considerare problematiche non relative alla configurazione,
avremo una macchina server con un IP interno, ad esempio 192.168.0.1.
Inoltre avremo un IP esterno di fantasia che definirò come 88.88.88.xx per non avere corrispondenze reali su di un network esistente.
Prevediamo inoltre che la macchina del nostro network home sia in una rete che comunichi all'esterno, con un router che si occupi dell'indirizzamento degli ip correttamente configurato come DNS e su di una ADSL ad IP fisso.
Passiamo alla parte pratica:
1. prima cosa andremo ad aprire la porta relativa ad ssh sul router, la porta è la 22.
La configurazione potrebbe essere leggermente diversa da router a router ma in sostanza si tratta di definire un protocollo e aprire una porta, pertanto i dati da inserire saranno simili a quanto riportato sotto:
protocollo: ssh
ip: 192.168.0.1
porta: 22
Configurazione sul pannello di un router:

2. Come accennato prima useremo alcune applicazioni che ci consentiranno di configurare più velocemente i sistemi
3. Iniziamo dalla macchina che abbiamo definito come server, sulla stessa installeremo alcune applicazioni:
1- sshhelper (http://www.gideonsoftworks.com/sshhelper.html)
2- vineserver (http://sourceforge.net/projects/osxvnc/)
a) installiamo sshhelper sulla macchina server la applicazione ci servirà per gestire le identità sicure sulle due macchine.
- aprite la applicazione con un doppio clic
- passate la schermata di welcome facendo un clic sulla freccia in basso a destra
- selezionate il checkbox "setup server" procedete con un clic sulla freccia
- fate un clic su "open sharing" vi porterà nelle preferenze relative alla condivisione nella vostra cpu
- abilitate il remote login
- fate un clic sulla solita freccia e arriverete al "Summary"
- a questo punto la vostra macchina è configurata per il servizio
b) installiamo sempre sul server il servizio di vnc server
4. occupiamoci ora della macchina client
a) installiamo sshhelper sulla macchina client poi passiamo alla configurazione:
- aprite la applicazione con un doppio clic
- passate la schermata di welcome facendo un clic sulla freccia in basso a destra
- selezionate il checkbox "setup ssh identity" procedete con un clic sulla freccia
- in key parameters:
- SSH Protocol: SSH 2 - DSA
- key Type: personal Key
- Comment: inserite una descizione che vi ricordi la password
- Password: inserite una password
A questo punto abbiamo creato una chiave pubblica sul nostro client
- apriamo SSH Helper sulla macchina client
- facciamo un clic su "nome utente" setting e selezionate "My Keys"
- fate un clic su "Save as..." o "export" a seconda delle versioni del programma
- una volta salvata la chiave su di un file trasferitela sul server, ad esempio su una chiavetta
usb, se disponete solo un accesso remoto trasferitela sul server tramite ftp, condivisione o email.
Torniamo sulla macchina server per autorizzare l'uso della chiave pubblica generata dal client.
- apriamo SSH Helper sul server
- qui un appunto, è necessario fare il log all'avvio del server nel caso di più utenti con l'utente che sarà attivo quando il server rimarrà in aspettativa della connessione ssh da parte del client.
- facciamo un clic su "nome utente" setting e selezionate "Authorized Keys"
- facciamo un clic sul pulsante "+"
- copiamo il contenuto del file della public key precedentemente portato sul server facendo copia e incolla del testo della key
-fate un check del buon esito della procedura con un clic su "Protocol 2 keys" dovreste vedere la chiave nel riquadro sottostante
5. Facciamo un test della connessione ssh da terminale:
scriviamo la seguente stringa dalla macchina client:
ssh -l nomeutenteserver iphost
premiamo invio, ovviamente sostituiamo i dati del nostro network :
nomeutenteserver= fedeserver
iphost= 88.88.88.xx
ssh -l fedeserver 88.88.88.xx
The authenticity of host '192.168.0.1 (192.168.0.1)' can't be established.
RSA key fingerprint is "sequenza numeri e lettere"
Are you sure you want to continue connecting (yes/no)?
scrivete yes
a questo punto il server sarà aggiunto tramite il riconoscimento della chiave agli host conosciuti
Warning: Permanently added '192.168.0.1' (RSA) to the list of known hosts.
vi sarà richiesta la password:
Enter passphrase for key '/Users/fedeserver/.ssh/id_dsa':
a questo punto il login è andato a buon fine.
La nostra configurazione tramite le keys RSA è funzionante.
6. ora possiamo procedere alla installazione di vineserver
configurazione:
- tab "Connection"
- inseriamo un display number ad esempio =1
- una porta =5900
- una password
- tab "System"
- check il checkbox "Swap Mouse Buttons 2 and 3"
- tab "Sharing"
attivate i seguenti checbox:
- Only allow local connection (require SSH)
- Advertise server via Bonjour
- Let clients request exclusive access
- Keep existing client if a new client tries to connect
Qui la parte più importante che assicura una connessione non pubblica al sistema vnc è attivare "Only allow local connection (require SSH)"
tab "Startup"
- check il checkbox "Restart server if it terminates unexpectedly"
7. configuriamo SSH Tunnel Manager sulla macchina client
- creiamo una posizione name= remote home
- login= il nome utente sul server=fedeserver
- host= l'ip pubblico dell'host
In Local Redirections la porta scelta sul server:
port=5900
LAN Host= 127.0.0.1
port=5900
A questo punto vi potrete connettere tramite la connessione criptata del tunnel.
Come visto prima nella procedura da terminal vi sarà chiesta la password per entrare nel server.
8. per vedere il vnc dalla macchina client installeremo Chicken of VNC
- creiamo una connessione facendo un clic sotto il box a sinistra "Servers" ad esempio "log da ibook"
- Host= 127.0.0.1
- Password= la password definita sulla macchina server nella applicazione Vine server.
La finestra della connessione su Chicken of VNC

Note:
- la macchina che ha la funzionalità del server dovrà esere configurata per il log automatico sull'utente per cui si è definito di usare le chiavi
- sarà buona cura disabilitare sulla macchina server standby o attivazioni salvaschermo, impendendo lo sleep ci si garantisce in questo modo un accesso remoto ad una macchina funzionante.
- non occorre aprire la porta vnc sul router l'accesso al servizio sarà garantito dalla connessione alla rete locale della macchina server tramite ssh.
VNC della macchina server dal client:
0 commenti
http://archivio.tevac.com/article.php/20071023232023150