Zainstalowanie openssh-server
umożliwi bezpieczny dostęp do całego dysku przez Internet lub z urządzeń w domu, o ile obsługują one sFTP. Jeśli jakikolwiek nie z jakiegokolwiek powodu, udział Samby może uzupełnić to, jak szczegółowo opisano w innej odpowiedzi. Oto jak skonfigurowałem mój:
Zainstaluj serwer OpenSSH :apt-get install openssh-server
Otwórz port 22 : Używam tego na wiele sposobów gufw
(być może trzeba go zainstalować, nie jestem pewien, czy to domyślny). Jeśli chcesz otworzyć go w Internecie na późniejszym etapie, musisz przekierować port 22 na serwer z routera. Zwykle można to zrobić za pośrednictwem interfejsu internetowego na routerze. Jeśli możesz, przypisz do serwera również statyczny adres IP (tj. Wyłącz DHCP dla serwera).
Edytuj ustawienia konfiguracji ssh : Utwórz kopię zapasową i otwórz plik /etc/ssh/sshd_config
oraz zmień / dodaj ustawienia
PermitRootLogin no
AllowUsers guarav_java other_user_if_necessary
Aby zapewnić maksymalne bezpieczeństwo, możesz skonfigurować loginy oparte na kluczach, jak opisano tutaj https://help.ubuntu.com/community/SSH/OpenSSH/Keys , ale wystarczyłoby ustawić naprawdę silne hasło i zapisać je na każda maszyna klienta.
Możesz utworzyć użytkownika dla każdej łączącej się osoby. Jeśli to zrobisz, możesz dodać je wszystkie do tej samej grupy (powiedzmy ssh_users) i zezwolić wszystkim w tej grupie na łączenie się przy użyciu AllowGroups ssh_users
. (Aby uzyskać więcej informacji, zobacz http://knowledgelayer.softlayer.com/learning/how-do-i-permit-specific-users-ssh-access )
Sprawdź, czy ustawienia są prawidłowe : Możesz sprawdzić, czy popełniłeś błąd składniowy w pliku konfiguracyjnym za pomocąsshd –t
Połącz z serwera do siebie : W tym momencie powinieneś być w stanie połączyć się z maszyną od samego siebie w terminalu ssh localhost
(zakładając, że już masz openssh-client
). Następnie spróbuj go z innego komputera w sieci, ssh <ip-address>
.
Jeśli adres IP serwera jest stały w sieci domowej, możesz dodać wpis /etc/hosts
na komputerze Ubuntu łączącym się z nim za pomocą linii
server_ip_address theserver
Będzie to oznaczało, że możesz połączyć się po prostu ssh theserver
lub jakkolwiek to nazwiesz. Możesz zrobić to samo dla systemu Windows (patrz tutaj: http://helpdeskgeek.com/windows-7/windows-7-hosts-file/ )
Łączenie przez sFTP : Jeśli możesz połączyć się z serwerem z innego urządzenia w sieci domowej w terminalu, możesz połączyć się z nim przez sFTP oraz bezpiecznie przeglądać i przesyłać pliki. Osobiście skonfigurowałem skrót klawiaturowy, aby móc montować / odmontowywać mój serwer za pomocą poleceń klawiaturowych (w systemie Ubuntu):
gvfs-mount sftp://user@ipaddress
gvfs-mount -u sftp://user@ipaddress
( -u
Flaga to polecenie umount)
Umieść je w polu „Polecenie:” w Ustawieniach systemu> Klawiatura> Skróty> Skróty niestandardowe> + (Nowy skrót), nadaj mu nazwę, kliknij Zastosuj, a następnie kliknij prawą kolumnę i wprowadź kombinację klawiszy ( CTRL+SHFT++
i CTRL+SHFT+-
odpowiednio wydają się logiczne) .
Możesz zastąpić adres IP tym, co jest w /etc/hosts
. Spowoduje to zamontowanie serwera jako dysku w Nautilus i będziesz mógł przeglądać foldery tak samo jak te na twoim komputerze lokalnym. W systemie Windows można połączyć się za pomocą oprogramowania FTP (Filezilla itp.). Nie próbowałem tego, ale jestem pewien, że prawdopodobnie sama integracja sFTP również istnieje w Eksploratorze Windows.
Kolejną zaletą logowania opartego na kluczach w tym momencie jest to, że nie jest monitowany o hasło za każdym razem, gdy się łączysz (chyba że skonfigurujesz je w celu ochrony klucza). Możesz zajrzeć do niego po tym, jak zaczniesz pracować z logowaniem się hasłem (i przed otwarciem go na zewnątrz).
Łączenie z zewnątrz : Ostatnim krokiem byłoby sprawdzenie, czy możesz połączyć się z Internetem, tj. Obok lub cokolwiek innego. Jeśli nie masz statycznego adresu IP dla swojego domu, może być trudne śledzenie adresu IP. Korzystam z dynamicznej usługi dns ( http://afraid.org/ jest darmowy) osobiście, ale możesz znaleźć inne rozwiązanie lepiej. Następnie zastąpiłbyś ipaddress w powyższych poleceniach montowania dynamicznym adresem internetowym wskazującym twoją sieć domową.
Jeszcze jedna wskazówka dotycząca bezpieczeństwa: zachowaj kontrolę nad dziennikiem SSH, jeśli zdecydujesz się na to ( /var/log/auth.log
), aby upewnić się, że nic się nie dzieje. Jeśli okaże się, że jest, Fail2Ban jest jednym z rozwiązań ( http://www.fail2ban.org/wiki/index.php/Main_Page i https://help.ubuntu.com/community/Fail2ban ). Aby zminimalizować ryzyko, możesz zmienić port SSHD nasłuchuje na coś niestandardowego, na przykład 500, i zmienić odpowiednie reguły przekierowania portów na routerze i zaporze ogniowej serwera (Dlaczego: /server/189282 / dlaczego-change-default-ssh-port ), chociaż osobiście tego nie testowałem gvfs-mount
.