Jak skonfigurować nową instalację Ubuntu, aby akceptować połączenia ssh?

226

Właśnie zainstalowałem Ubuntu. Jak skonfigurować, aby umożliwić mi ssh?

W tej chwili pojawia się komunikat „ssh: connect to host xxxx port 22: Operacja wygasła”.

Daryl Spitzer
źródło

Odpowiedzi:

297
sudo apt update
sudo apt install ssh
sudo ufw allow 22      # if you have ufw running, but it doesn't hurt to run.

To jest minimum. Umożliwia nieograniczoną liczbę nieudanych prób podania hasła na znanym porcie. Bezpośrednie logowanie do roota jest wyłączone (możesz nadal sui sudopo zalogowaniu). Jeśli nazwa użytkownika i hasło są do odgadnięcia i Internet widzi serwera, ktoś będzie w końcu przełamać się.

Nie mogę tego wystarczająco podkreślić: musisz zaostrzyć domyślną konfigurację. Zasadniczo zamieniasz wygodę na prawdopodobieństwo włamania, ale przejrzałem kilka sugestii na moim blogu . Przynajmniej sugerowałbym:

  • Loginy oparte na kluczach. Wyłącz logowanie za pomocą hasła.
  • Odsuń go od portu 22. Użyj czegoś szalonego, w zakresie 20000-60000.
  • Służy fail2bando blokowania osób, które go znajdują i próbują go brutalnie zranić.

Zajmie ci to mniej niż 10 minut, a oni zabiorą cię z 1/10000 szansy na włamanie - z prawdopodobieństwem tak małym, że na świecie nie ma wystarczającej ilości papieru, aby napisać jego ułamek. Zakładając, że jesteś ostrożny ze swoim kluczem, ma on swoje własne hasło i nie trącisz swoimi danymi uwierzytelniającymi w całej sieci.

Jeśli chodzi o dostęp do tego serwera SSH z Internetu, możesz napotykać lokalne przeszkody w sieci. Jeśli komputer znajduje się za routerem NAT (np. Większość sieci domowych) bez bezpośredniego dostępu przychodzącego z Internetu, może być konieczne przekierowanie portów . Oczywiście, jeśli nie potrzebujesz dostępu poza siecią, pominięcie tego kroku zwiększy bezpieczeństwo sieci.

Oli
źródło
9
W zależności od twojej instancji, możesz nie potrzebować sudo ufw zezwalać 22. Na przykład mam prostą instancję VirtualBox Ubuntu-Server z Bridged Networking na hoście Windows (dla prostych potrzeb deweloperów) - nie ma potrzeby otwierania portu 22 (już otwarty), nie ma potrzeby hartowania, które potencjalnie mogłoby zamknąć 22, nie trzeba używać innego portu.
Chris Moschini
@Oli - Czy możesz trochę rozszerzyć sposób działania fail2ban? Czy po prostu go instalujesz i automatycznie uruchamia demona dla Ciebie, czy też wymaga konfiguracji?
Matteo,
2
@ Matteo Jest dostarczany z pewnymi ustawieniami domyślnymi dla wspólnych usług (takich jak SSH). W takim przypadku, chyba że dokonasz poważnych zmian w miejscu przechowywania dzienników, wystarczy instalacja.
Oli
Po prostu FYI sudo apt-get install sshwydaje się być tym samym, coopenssh-server
Sridhar Sarnobat
1
@ Sridhar-Sarnobat, sshPakiet jest opisany jako metapakiet zarówno dla klienta bezpiecznej powłoki, jak i serwera bezpiecznej powłoki, więc jeśli ją zainstalujesz, zostaną zainstalowane obie zależności. Jednak klient jest już domyślnie zainstalowany w Ubuntu, więc prawdopodobnie wystarczy tylko zainstalować serwer.
H2ONaCl
23

Zainstalowanie pakietu openssh-server, który jest dostępny z Software Center, zapewni element serwera, który pozwoli klientowi, np. Innemu komputerowi Ubuntu, na uzyskanie bezpiecznego połączenia z „serwerem” takim jak twoja maszyna wirtualna.

Społeczność Ubuntu ma doskonały przewodnik na temat SSH , OpenSSH-Server i jak skonfigurować go w bezpieczny sposób.

fossfreedom
źródło
3

Chciałem tylko dodać, że musisz upewnić się, że wybrałeś właściwy interfejs WAN, jeśli twój modem / router obsługuje wiele interfejsów WAN.

Mam miliard BiPAC 7800NXL, który ma 3 możliwe porty WAN (DSL, ETH i 3G). Kiedy tworzysz nowy serwer przesyłania dalej (zwany „serwerem wirtualnym” w tym routerze), 7800NXL zawsze domyślnie przyjmuje interfejs WAN DSL, mimo że korzystam tylko z interfejsu Ethernet WAN.

Miałem wszystkie porty skonfigurowane poprawnie, ale moje przesyłanie dalej było skonfigurowane do korzystania z DSL, więc nie działało. Gdy tylko stworzyłem nowy interfejs dla interfejsu ETH WAN, zadziałało.

Greg
źródło
3

Skonfiguruj usługi SSH lub Włącz usługi serwera SSH na serwerze Ubuntu:

Aby zainstalować lub skonfigurować SSH na Ubuntu, najpierw musisz zainstalować pakiety SSH na serwerze Ubuntu, aby następnie móc zabrać maszynę wirtualną na system hosta za pośrednictwem Putty lub innej poprawki logowania SSH ...

najpierw musisz zainstalować pakiet SSH na Ubuntu, więc uruchom to polecenie

#sudo apt-get install openssh-server

jakiś czas masz problemy z instalacją lub dodaniem tego pakietu na serwerze, np. ..

Błąd CDROM podczas instalacji pakietu SSH, więc aby rozwiązać ten problem, możesz użyć mojego innego skrótu dostępnego na Montażu CDROM Na końcu po zamontowaniu tego CDROM na serwerze Ubuntu możesz teraz łatwo zainstalować usługę SSH, wykonując poniższe polecenie

#sudo apt-get install openssh-server

Ten pakiet zainstaluj teraz i podczas instalacji poproś o odpowiedź tak / nie, a następnie naciśnij TAK ...

Na koniec zainstaluj pakiet SSH na serwerze Ubuntu, a następnie uruchom ponownie usługi SSH, wykonując polecenie ..

#sudo service ssh restart
---OR type---
#sudo service ssh start

Następnie BooM, twój SSH zainstalował i uruchom SuccessFully ... teraz otwórz Putty z lokalnego komputera hosta i wpisz tam swój adres IP maszyny Wirtualnej Putty Login I BOOM możesz zalogować swój serwer VM za pośrednictwem maszyny hosta Putty SSH ...

Brijesh Sondarva
źródło