Как отключить автозапуск 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.