Zabezpieczanie udostępniania ekranu Maca za pomocą SSH

Ważne: Dokończ konfigurację SSH przed wprowadzeniem tej zmiany
Ta konfiguracja wymusza, aby wszystkie połączenia Screen Sharing korzystały z SSH, w tym połączenia z urządzeń w tej samej lokalnej sieci.

Po włączeniu tej opcji macOS będzie akceptować bezpośrednie połączenia Screen Sharing (VNC) wyłącznie pochodzące z samego Maca (localhost). Bezpośrednie połączenia VNC z innych urządzeń przestaną więc działać, niezależnie od tego, czy pochodzą z Internetu, VPN czy z lokalnej sieci.

Zanim przejdziesz dalej, upewnij się, że na Macu włączone jest Remote Login oraz że Screens jest skonfigurowane do używania Secure Connections, w tym Enable on Local Connections, zgodnie z opisem poniżej. W przeciwnym razie Screens nie będzie mogło się połączyć.

Począwszy od macOS 10.12 Sierra, macOS można skonfigurować tak, aby wbudowana usługa Screen Sharing akceptowała tylko połączenia pochodzące z samego Maca (localhost). Zapobiega to bezpośrednim połączeniom innych urządzeń z usługą Screen Sharing (VNC), w tym urządzeń w tej samej lokalnej sieci.

Screens nadal może się łączyć, najpierw nawiązując połączenie SSH z Makiem, a następnie tunelując przez SSH połączenie Screen Sharing. W rezultacie SSH staje się wymagane dla wszystkich połączeń Screens z tym Makiem, w tym połączeń lokalnych.

Zanim zaczniesz

Ponieważ po wprowadzeniu tej zmiany bezpośrednie połączenia Screen Sharing nie będą już akceptowane, Remote Login (SSH) musi być włączone na Twoim Macu.

  1. Otwórz System Settings.
  2. Przejdź do General > Sharing.
  3. Włącz Remote Login.
  4. Upewnij się, że Twoje konto użytkownika Maca ma przyznany dostęp.

Będziesz też musiał skonfigurować Screens i Screens Connect, jeśli są zainstalowane, tak aby używały bezpiecznych połączeń, zgodnie z opisem poniżej.

Konfiguracja Screens

Zanim ograniczysz Screen Sharing do połączeń lokalnych, edytuj zapisane połączenie w Screens i otwórz sekcję Security.

Włącz Secure Connections i upewnij się, że Enable on Local Connections również jest włączone.

To ważne: gdy Screen Sharing zostanie ograniczone do połączeń lokalnych, Screens musi używać SSH nawet wtedy, gdy Twoje urządzenie znajduje się w tej samej lokalnej sieci co Mac.

Konfiguracja Screens Connect

Jeśli korzystasz z Screens Connect, otwórz jego ustawienia, wybierz General i włącz Use Remote Login.

Zapewni to, że Screens Connect skonfiguruje zdalne połączenia do używania SSH zamiast łączenia się bezpośrednio z usługą Screen Sharing.

Ograniczenie Screen Sharing do połączeń lokalnych

Gdy Remote Login i powyższe opcje SSH są skonfigurowane, otwórz na Macu Terminal i wpisz:

sudo defaults write /Library/Preferences/com.apple.RemoteManagement.plist VNCOnlyLocalConnections -bool yes

Wpisz hasło do swojego konta użytkownika Maca, gdy zostaniesz o to poproszony.

Ustawienie VNCOnlyLocalConnections nakazuje macOS Screen Sharing akceptowanie bezpośrednich połączeń VNC tylko z localhost.

Oznacza to:

Cofnięcie zmiany

Jeśli chcesz, aby macOS Screen Sharing ponownie akceptował bezpośrednie połączenia sieciowe, otwórz Terminal i wpisz:

sudo defaults write /Library/Preferences/com.apple.RemoteManagement.plist VNCOnlyLocalConnections -bool no

Odczekaj kilka sekund, aż macOS zastosuje zmianę, zanim spróbujesz ponownie się połączyć.

Gdy zmiana zacznie obowiązywać, Screens może ponownie łączyć się bezpośrednio z usługą Screen Sharing (VNC), także przez lokalną sieć lub VPN, bez potrzeby korzystania z tunelu SSH.

Możesz wtedy wyłączyć ustawienia specyficzne dla SSH w Screens i Screens Connect, jeśli nie chcesz już używać bezpiecznych połączeń.

Ważne: gdy Screen Sharing zostanie ograniczone do localhost, Screens musi używać SSH dla każdego połączenia z tym Makiem, nawet gdy Twoje urządzenie znajduje się w tej samej lokalnej sieci lub Mac pojawia się w Nearby.

Bez Enable on Local Connections połączenia lokalne będą próbowały łączyć się bezpośrednio z usługą VNC i zakończą się niepowodzeniem.

Nadal potrzebujesz pomocy?

Wyślij do nas e-mail