Как отключить автозапуск SSHD в Ubuntu 15.04

11

В более старых версиях Ubuntu я закомментировал строку «start on ...» в /etc/init/ssh.conf. Это работало хорошо, но не в Ubuntu 15.04.

Fango
источник

Ответы:

19

Команда

systemctl disable ssh

сделал это для меня.

@Jakuje: Спасибо, что дали мне идею.

Fango
источник
7

Это задокументировано в 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
Jakuje
источник
Закомментирование строки, как описано выше, «WantedBy = multi-user.target» не влияет на автозапуск в моей системе. Но после выполнения «systemctl disable ssh» sshd больше не запускается, даже если он был активирован вручную в предыдущем сеансе.
Фанго
конечно, я имел в виду disable... я не знаю, почему я положил туда status. Это не сработало для меня в Ubuntu (в отличие от других систем), поэтому я искал и другое решение ...
Jakuje
Может быть, это не сработало в вашей системе, потому что вы набрали sshd вместо ssh?
Фанго
Вы должны предпочесть имя сервиса sshнад его псевдонимом sshd. Например, systemctl enable sshd не работает, потому что псевдонимы не могут быть использованы для включения услуг .
BeeOnRope
@BeeOnRope спасибо за комментарий. Я в основном использую Fedora / RHEL, где он назван sshdи который более понятен. Я не уверен, почему Debian / Ubuntu начали использовать только sshдля сервера. Я отредактирую этот ответ, чтобы отразить его. Благодарю.
Jakuje
1

Это делает немного больше, чем требуется, но надежный подход заключается в удалении пакета:

sudo apt-get remove openssh-server

Это работает во всех версиях Ubuntu.

Если у вас есть доступ в Интернет или вы кэшировали пакет, переустановка (и автоматический перезапуск) не является проблемой:

sudo apt-get install openssh-server
nobar
источник
sudo apt-get install --reinstall openssh-server
nobar
1

Я хочу отключить службу и systemctl disable myserviceне работает, но запуск systemctl daemon-reloadпосле отключения отключает ее.

SAMPro
источник