Ответы:
Это задокументировано в 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