Jak bezpiecznie ssh do komputera w domu przez Internet

8

Niedługo będę podróżował i mam maszynę, na której działa kilka zadań CRON itp. Muszę zalogować się zdalnie, aby sprawdzić wyniki uruchomionych zadań i wykonać trochę pracy na maszynie.

Oto najważniejsze fakty:

  1. Na komputerze, który ma zostać podłączony (statek-matka) jest Ubuntu 14.0.4 LTS
  2. Statek macierzysty jest podłączony do Internetu za pośrednictwem sieci LAN w domu, więc ma publiczny adres IP.
  3. Adres IP jest przydzielany dynamicznie.
  4. Będę łączyć się ze statkiem-matką za pomocą laptopa z systemem Ubuntu 15.10

Wolę używać ssh niż VNC, z powodu problemów z przepustowością - a ponadto wszystko czego potrzebuję to linia poleceń.

Jaki jest najlepszy sposób bezpiecznego połączenia zdalnego z moim komputerem?

Homunculus Reticulli
źródło
SSH jest bezpieczny. Z czym masz problem?
Mostafa Ahangarha
VNC to graficzny pilot zdalnego sterowania. Masz na myśli VPN?
TheWanderer
@techraf ah, rozumiem. Wysłałem głos zatwierdzający
TheWanderer
Po prostu przeczytaj dobry przewodnik, jest tam lepsza sekcja poświęcona ssh. I wyłącz logowanie się!
Braiam
Z czatu widzę, że pomyślałeś o uwierzytelnieniu za pomocą haseł zamiast haseł. To, na co możesz spojrzeć, to zezwolenie tylko na uwierzytelnianie za pomocą klucza prywatnego / publicznego.
Oliphaunt - przywróć Monikę

Odpowiedzi:

14

Najlepszym rozwiązaniem jest prawdopodobnie uruchomienie serwera SSH na porcie innym niż domyślny, takim jak 2020. Zapobiega to większości próbom ataków siłowych z sieci, ponieważ boty te zwykle patrzą tylko na domyślne porty.

Będziesz także musiał przypisać serwerowi statyczny adres IP w sieci LAN, ponieważ musi on być dostępny przez cały czas. Możesz to ustawić System Settings --> Network. Aby zapobiec konfliktom adresów IP, zaleca się również poinformowanie serwera DHCP (w większości przypadków routera), że ten adres IP jest zajęty. Metoda różni się w zależności od modelu, ale w konfiguracji routera powinien znajdować się obszar umożliwiający rezerwowanie adresów IP.

Przyczyną statycznego adresu IP jest konieczność przekierowania portów w konfiguracji routera. Umożliwia to kierowanie połączeń z portu do zewnętrznego adresu IP do tego portu na serwerze.

Jeśli twój publiczny adres IP jest dynamiczny, co prawdopodobnie jest, będziesz chciał skonfigurować jakąś dynamiczną usługę DNS. Moja rekomendacja dla tej usługi to No-IP . Daje ci bezpłatną subdomenę, która zawsze wskazuje na twój publiczny adres IP. Ta konfiguracja wymaga instalacji programu na zawsze aktywnym komputerze w sieci LAN (zwanym DUC, dostarczanym przez No-IP).

Po skonfigurowaniu serwera SSH tak, jak chcesz, włącz do niego SSH, wprowadzając

ssh user@remotehostip -p XXX

lub używając dowolnego klienta SSH / SFTP, który wolisz.

Jeśli którakolwiek z tych sekcji wymaga bardziej szczegółowych instrukcji, skomentuj, a ja je dodam.

Jeśli ktoś ma problem z obserwowaniem, oto czat, który ma dalsze / bardziej szczegółowe kroki: http://chat.stackexchange.com/rooms/37251/discussion-between-homunculus-reticulli-and-zacharee1

Wędrowiec
źródło
+1 Dzięki @ Zacharee1 za szybką odpowiedź. Zarejestrowałem domenę dla mojego celu, używając no-ip. Wykonałem wszystkie kroki. Ostatni krok polega na tym, że jestem zagubiony: skonfigurowanie routera do przekierowywania portów. Jeśli to możliwe, mógłbym pomóc w tej dziedzinie. Dzięki
Homunculus Reticulli
@HomunculusReticulli Jaki jest twój model routera?
Wędrowiec
Nie widzę też, gdzie / jak przypisać statyczny adres IP. Używam Ubuntu Trusty Tahir
Homunculus Reticulli
1
Brak adresu IP, ponieważ masz dynamiczny adres zewnętrzny
TheWanderer
1
@BharadwajRaju to nie jest coś, co mogę wyjaśnić w komentarzu. Sprawdź, jak skonfigurować komputer Ubuntu jako router, a znajdziesz coś
TheWanderer
1

Oprócz odpowiedzi Zacharee1 powinieneś zainstalować Fail2ban lub DenyHosts (pobierz .deb z repozytorium Precise). Nie należy uwierzytelniać się za pomocą kluczy, jeśli podróżujesz. Użyj również „bezpiecznego” hasła. Być może skonfiguruj dedykowane konto użytkownika z ograniczonym dostępem na czas, gdy nie musisz być administratorem.

Nie dotknąłbym ustawień sieciowych na serwerze, statyczny adres IP można przypisać z routera. Adres IP routera powinien być adresem „bramy” przypisanym w DHCP. W przypadkach, gdy nie jest to (!) Domyślny adres powinien być gdzieś pod nim wpisany. Jeśli to zmieniłeś, ostatnią wartość pozostawiłeś w spokoju. Więc jeśli masz sieć domową klasy C, adresem będzie abcx, gdzie abc pasuje do wszystkich innych adresów IP, a x jest wartością końcową z naklejki routera. W każdym razie dostawca usług internetowych powinien mieć do tego strony pomocy.

Gdy używasz niestandardowego portu, unikaj „22” jako ostatnich cyfr (powiedzmy 8122). Pozostawia wskazówki.

NB możesz uzyskiwać dostęp do aplikacji opartych na X przez SSH bez VNC, zupełnie inny temat.

mckenzm
źródło
czy mógłbyś wyjaśnić swój komentarz: „Nie należy uwierzytelniać się za pomocą kluczy, jeśli podróżujesz”. Jest to sprzeczne ze wszystkim, co przeczytałem do tej pory. Jaki jest powód, dla którego to mówisz?
Homunculus Reticulli
Dlaczego nie należy uwierzytelniać się przy użyciu kluczy podczas podróży ? Uwierzytelnianie nie ma znaczenia, czy podróżujesz, czy nie.
UniversallyUniqueID
Nie przekroczyłeś ostatnio granicy? Nigdy nie zgubiłeś telefonu? Twoje klucze zostaną udostępnione. To samo dotyczy certyfikatów. Zainstaluj jeden na maszynie do kawiarni internetowej na własne ryzyko. Klucze zapewniają natychmiastowy dostęp bez hasła, klient powinien być zabezpieczony, a nie w tylnej kieszeni.
mckenzm