В более старых версиях Ubuntu я закомментировал строку «start on ...» в /etc/init/ssh.conf. Это работало хорошо, но не в Ubuntu 15.04.
11
Команда
systemctl disable ssh
сделал это для меня.
@Jakuje: Спасибо, что дали мне идею.
Это задокументировано в 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
для сервера. Я отредактирую этот ответ, чтобы отразить его. Благодарю.Это делает немного больше, чем требуется, но надежный подход заключается в удалении пакета:
Это работает во всех версиях Ubuntu.
Если у вас есть доступ в Интернет или вы кэшировали пакет, переустановка (и автоматический перезапуск) не является проблемой:
источник
sudo apt-get install --reinstall openssh-server
Я хочу отключить службу и
systemctl disable myservice
не работает, но запускsystemctl daemon-reload
после отключения отключает ее.источник