Как я могу по-настоящему выключить сервер SSH?

15

Я отключаю ssh сервер с помощью systemctl, отключаю ssh и перезагружаюсь. После перезагрузки я все еще могу войти на удаленный сервер через ssh. Я использую systemctl status ssh для проверки состояния сервера, и он неактивен.

$ systemctl -a | grep ssh
ssh.service                                               loaded    inactive dead      OpenBSD Secure Shell server
ssh@3-192.168.0.120: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
источник
Не могли бы вы добавить вывод systemctl status sshк вашему вопросу?
Fiximan
Это очень похоже на:● 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
Кроме того, вам следует заблокировать порт 22 на брандмауэре, чтобы даже если SSH-сервер работал каким-либо образом, он не был доступен удаленно.
dr01

Ответы:

26

Системный сокет SSH активен, а служба SSH активирована сокетом. Вам также необходимо отключить сокет:

systemctl disable --now ssh.socket

Фактически, в моей системе Arch демон sshd запускается только тогда, когда приходит новое соединение. В других случаях единственными экземплярами sshd являются дочерние процессы, разветвленные для обработки этих соединений.

Также см:

Мур
источник
2
@spender это официальный блог Леннарта Поеттеринга, поэтому трудно найти «лучший» источник, чем этот. Не уверен, почему вы получаете предупреждение от Firefox, но я не
Майкл Снук
1
Ах, вы, вероятно, получаете предупреждение о его самозаверяющем сертификате.
Муру
1
@Spender: Действительно, сообщение об ошибке совершенно ужасно. Он должен указывать вам не передавать личные данные на сайт, а не о том, что «хакеры могут украсть ваши [подразумеваемые: в состоянии покоя] данные, если вы посетите сайт». Он читается как scareware / fake-AV сообщение, которое пользователи должны учить игнорировать .
R .. GitHub ОСТАНОВИТЬСЯ, ПОМОГАЯ ЛЬДУ
1
Теперь, когда Lets Encrypt настолько прост в использовании, Poettering должен использовать его вместо самозаверяющих сертификатов. : /
Муру
5
@muru дает Poettering немного времени - требуется время для интеграции CA в менеджер инициализации ....
ivanivan