Jak mogę naprawdę zamknąć serwer SSH?

15

Wyłączam serwer ssh za pomocą systemctl wyłączam ssh, a następnie restartuję. Po ponownym uruchomieniu nadal mogę zalogować się do zdalnego serwera za pośrednictwem ssh. Używam sct systemctl ssh, aby sprawdzić status serwera i jest on nieaktywny.

$ systemctl -a | grep ssh
ssh.service                                               loaded    inactive dead      OpenBSD Secure Shell server
[email protected]:22-192.168.0.104:31079.service        loaded    active   running   OpenBSD Secure Shell server per-connection daemon (192.168.0.104:31079)
system-ssh.slice                                          loaded    active   active    system-ssh.slice
ssh.socket                                                loaded    active   listening OpenBSD Secure Shell server socket
codexplorer
źródło
Czy możesz dodać wynik systemctl status sshswojego pytania?
Fiximan
Jest bardzo podobny do:● ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled) Active: inactive (dead) since Tue 2019-07-09 23:25:16 CST; 1s ago
codexplorer
1
Dodatkowo należy zablokować port 22 w zaporze ogniowej, aby nawet jeśli serwer SSH działał jakoś, nie będzie on dostępny ze zdalnego.
dr01

Odpowiedzi:

26

Systemowe gniazdo SSH jest aktywne, a usługa SSH jest aktywowana przez gniazdo. Musisz również wyłączyć gniazdo:

systemctl disable --now ssh.socket

W rzeczywistości w moim systemie Arch demon sshd działa tylko wtedy, gdy pojawia się nowe połączenie. W innych przypadkach jedynymi instancjami sshd są procesy potomne rozwidlone do obsługi tych połączeń.

Zobacz także:

muru
źródło
2
@spender, który jest oficjalnym blogiem Lennarta Poetteringa, więc trudno jest znaleźć „lepsze” źródło niż to. Nie jestem pewien, dlaczego otrzymujesz ostrzeżenie z Firefoksa, ale ja nie jestem
Michael Snook
1
Ach, prawdopodobnie otrzymujesz ostrzeżenie o jego samopodpisanym certyfikacie.
muru
1
@spender: Rzeczywiście komunikat o błędzie jest całkowicie okropny. Powinno to oznaczać, że nie należy przesyłać prywatnych danych do witryny, a nie że „hakerzy mogą ukraść twoje [domniemane: w spoczynku] dane, jeśli odwiedzisz witrynę”. To brzmi jak wiadomość scareware / fałszywa AV, którą użytkownicy powinni nauczyć się ignorować .
R .. GitHub ZATRZYMAJ LÓD
1
Teraz, gdy Lets Encrypt jest tak łatwy w użyciu, Poettering powinien go używać zamiast certyfikatów z podpisem własnym. : /
muru
5
@muru daj Poetteringowi odrobinę czasu - integracja
urzędu