Konfigurujemy serwer SFTP na Macu (OS X 10.9) część 1/3

Pomimo dostępności wielu rozwiązań bazujących na „chmurze”, pozwalających na składowanie danych na dysku sieciowym (Dropbox, OneDrive, Cubby, itp.) zdarza się, że chcielibyśmy mieć możliwość udostępnienia przestrzeni dyskowej swojego komputera innym. W przypadku sieci lokalnej problem właściwie nie istnieje, bo w prosty i intuicyjny sposób możemy skonfigurować udostępnianie plików i folderów dzięki panelowi Preferencji systemowych. Nieco gorzej wygląda sprawa, gdy chcemy umożliwić to z Internetu. Oczywiście, dobrze w takim wypadku posiadać stały publiczny adres IP albo usługę DDNS. Możemy wtedy pomyśleć nad wykorzystaniem usługi VPN, dzięki której „oszukamy” komputer kliencki i będziemy mogli zdalnie korzystać z zasobów sieciowych tak jak byśmy byli w sieci lokalnej. W kolejnych artykułach zajmiemy się jednak czym innym: skonfigurujemy serwer SFTP na naszym komputerze.

Osoby pracujące nieco dłużej na komputerach Mac mogą pamiętać, że w starszej wersji systemu OS X (do 10.6 włącznie) w Preferencjach systemowych można było aktywować udostępnianie plików przy użyciu FTP. Od OS X w wersji 10.7, opcja ta zniknęła z panelu, choć nadal da się zastartować serwer FTP prostym poleceniem w Terminalu:

sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist

Aby zweryfikować działanie serwera wpisujemy:

ftp localhost

I jeśli nie mamy totalnie „rozjechanego” :) systemu, zobaczymy podobny do poniższego rezultat:

iMadlo:~ marek$ ftp localhost
Trying ::1...
Connected to localhost.
220 ::1 FTP server (tnftpd 20100324+GSSAPI) ready.
Name (localhost:marek):

Wykorzystując Terminal, Finder (opcja Połącz z serwerem… z menu Idź) lub dowolnego klienta FTP (ForkLift, Cyberduck, itd.) możemy uzyskać zdalny dostęp do swoich folderów i plików (z uprawnieniami zgodnymi z tymi które posiada zalogowany zdalnie użytkownik).

Aby wyłączyć serwer FTP wprowadzamy następujące wyrażenie:

sudo -s launchctl unload -w /System/Library/LaunchDaemons/ftp.plist

Apple porzuciło (czy raczej odrobinę utrudniło korzystanie z serwera FTP) na rzecz SFTP – podobnie jak w przypadku Telnet kontra Secure Shell – ze względów bezpieczeństwa. FTP wykorzystuje dwa połączenia TCP: dla poleceń oraz do transmisji danych (wymaga to zwolnienia dwóch portów na routerze/firewallu, port nr 21 oraz 20 dla trybu aktywnego i 21 oraz dowolny >1024 dla trybu pasywnego). Jednak najważniejszą wadą protokołu File Transfer Protocol jest fakt, że oba kanały komunikacyjne nie są szyfrowane, więc dość łatwo przechwycić hasło i dane. Oczywiście istnieje rozwiązanie – FTPS (FTP/S) protokół, w którym polecenia i dane są szyfrowane dzięki użyciu SSL.

Zdalne logowanie - Preferencje systemowe OS X

Jednak lepszym i nowocześniejszym rozwiązaniem jest SFTP, który korzysta z szyfrowanego protokołu SSH i używa jednego połączenia na tym samym porcie o numerze 22. Włączenie serwera SFTP w systemie OS X sprowadza się do zaznaczenia opcji Zdalne logowanie w panelu Udostępnianie w Preferencjach systemowych. W ten sam prosty sposób, tj. odznaczając tę opcję, wyłączamy SFTP (oraz SSH). Zdalny dostęp możemy oczywiście uaktywnić tylko wybranym użytkownikom.

Weryfikacja działania serwera SFTP – w Terminalu wpisujemy:

sftp localhost

Przy pierwszym połączeniu zostanie wygenerowany klucz RSA i zostaniemy poproszeni o hasło. Dalej już z górki :) Gdy korzystamy z komunikacji w Terminalu wpisanie słowa help wyświetli listę dostępnych opcji, natomiast bye zakończenie połączenia.

Odwzorowanie portu na routerze - SFTP

W przypadku łączenia się z Internetu nie powinniśmy zapomnieć o dodaniu przekierowania portu w ustawieniach routera/zapory ogniowej.

Powyższa konfiguracja SFTP ma pewne niedoskonałości. Po pierwsze: na komputerze musi istnieć profil użytkownika, który będzie się zdalnie łączył. Tworzymy go zakładając konto w panelu Użytkownicy i grupy w Preferencjach systemowych. Po drugie: taki zdalny użytkownik ma uprawnienia identyczne z użytkownikiem zalogowanym lokalnie na komputerze. Ma do dyspozycji cały swój katalog domowy, może również przeglądać zawartość większości folderów systemowych. To zdecydowanie wada, którą zajmiemy się w następnym wpisie dotyczącym konfiguracji serwera SFTP już jutro.


0 0 głosy
Ocena artykułu