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


11

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

Ответы:


19

Команда

systemctl disable ssh

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

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


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

Закомментирование строки, как описано выше, «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

sudo apt-get install --reinstall openssh-server
nobar

1

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.