Ответы:
Это задокументировано в man systemctl
:
systemctl disable ssh
предотвращает автоматический запуск службы ssh. Но Systemd делает это так, а Ubuntu не принимает это, и они должны делать это по-своему:
Официальная документация: https://wiki.ubuntu.com/SystemdForUpstartUsers#Automatic_starting
В соответствии с этим вы должны создать блок переопределение без директивы WantedBy=multi-user.target
в /etc/systemd/system/ssh.service
(вместо текущего линка):
rm /etc/systemd/system/ssh.service
cp /lib/systemd/system/ssh.service /etc/systemd/system/ssh.service
sed -e "/WantedBy=multi-user.target/d" -i /etc/systemd/system/ssh.service
systemctl daemon-reload
disable
... я не знаю, почему я положил туда status
. Это не сработало для меня в Ubuntu (в отличие от других систем), поэтому я искал и другое решение ...
ssh
над его псевдонимом sshd
. Например, systemctl enable sshd
не работает, потому что псевдонимы не могут быть использованы для включения услуг .
sshd
и который более понятен. Я не уверен, почему Debian / Ubuntu начали использовать только ssh
для сервера. Я отредактирую этот ответ, чтобы отразить его. Благодарю.
Это делает немного больше, чем требуется, но надежный подход заключается в удалении пакета:
sudo apt-get remove openssh-server
Это работает во всех версиях Ubuntu.
Если у вас есть доступ в Интернет или вы кэшировали пакет, переустановка (и автоматический перезапуск) не является проблемой:
sudo apt-get install openssh-server
sudo apt-get install --reinstall openssh-server