[ MMX @ 15.04.2010. 19:46 ] @
Već duže vreme razmišljam o tome kako da omogućim remote pristup svom kućnom Mac mini-ju, a da ujedno ta konekcija bude sigurna? Ono što većini ljudi prvo pada na pamet jeste SSH. Kao i svaki drugi Unix-oliki sistem, Mac OS X ima SSH deamon koji omogućava uspostavu remote SSH konekcija. Sve je to super, ali nije baš praktično. Ili moram svo vreme da tipkam u terminalu, ili moram da instaliram neki 3rd party softver. Protokol koji u potpunosti zadovoljava moje potrebe jeste AFP. AFP nudi mogućnost mountovanja remote drive-ova tako da se ponašaju kao da su lokalni. Na taj način je moguće obavljati svakodnevne aktivnosti kao što su kopiranje fajlova, brisanje fajlova, otvaranje fajlova... na potpuno isti način kao što to radimo na lokalnim drive-ovima. Sve je to fino i krasno, samo imamo mali problem - AFP protokol je plain text, što znači da komunikacija nije sigurna. Zašto onda ne bih iskoristio neki siguran protokol, kao što je SSH, i kroz njega tunelovao (enkapsulirao) nesigurni AFP protokol?




Kao što se vidi sa slike, kroz SSH konekciju (na portu 22) enkapsuliramo (tunelujemo) saobraćaj koji dolazi sa korisnikovog računara i porta 15548 (lokalni port korisnika) na port 548 (port na kome sluša AFP daemon) na remote serveru. Shell skripta koja nam to omogućava je:

Code:

#!/bin/bash
ssh -L 15548:localhost:548 -f [email protected]_adresa sleep 60


-L parametar govori koji port na lokalnoj mašini (15548) da forwarduje na port na udaljenoj mašini (548). Ključna reč localnost između ova dva broja se odnosi na remote server.

user username na remote serveru.

ip_adresa IP adresa remote servera.

sleep ukoliko se ne uspostavi konekcija ka serveru u roku od 60 sekundi, proces će biti ubijen.

Skript snimiti kao naziv_fajla.sh i setovati da bude izvršan komandom:
Code:

chmod +x naziv_fajla.sh

iz Terminala. Dvoklikom na skript, otvoriće se Terminal i prompt za unos lozinke (lozinka za korisnički nalog na remote mašini). Nakon unosa i pritiska na ENTER, možete ugasiti Terminal.

Ovim korakom je uspostavljen tunel i sada možemo kroz njega pokrenuti AFP konekciju ka udaljenoj mašini. Pritisnite jabuka (Command) dugme i slovo K, otvoriće se "Connect to server" promt, gde je u polje za adresu potrebno ukucati:

Code:
afp://localhost:15548


ili samo:

Code:

localhost:15548


jer je AFP protocol defaultni.

Klikom na dugme "Connect", otvoriće se prompt za logovanje nakon čega će biti ponuđena lista drajvova i foldera koje možemo da mountujemo.

Bitno je napomenuti i to da bi sve ovo funkcionisalo, potrebno je na ruteru (koji je gateway ka Internetu remote servera) forwardovati TCP konekcije koje dolaze na portu 22 na lokalnu IP adresu i port 22 koje odgovaraju remote serveru. Druga bitna stavka je da na remote serveru (računaru na koji će se korisnici kačiti preko secure AFP konekcije) u System preferences -> Sharing uključite "AFP" demon koji se nalazi kao podopcija stavke "File sharing" i "Remote login".

NAPOMENA: Do Mac OS X 10.4 (Tigera) je tunelovanje bilo moguće uključiti čekiranjem opcije u System preferences. Od Leoparda pa na dalje, ukoliko želite secure AFP konekciju, jedini način da to postignete jeste gore pomenuti postupak.

Happy networking :)
[ madamov @ 16.04.2010. 14:44 ] @
Hvala na detaljnoj informaciji. B)