如何在Ubuntu 15.04中禁用SSHD自动启动


11

在旧版本的Ubuntu中,我在/etc/init/ssh.conf中注释掉了“开始于...”行。这很好用,但是在Ubuntu 15.04中却不能。

Answers:


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不再启动,即使它在上一个会话中已手动激活。
Fango

当然我的意思是disable...我不知道我为什么放在那儿status。它在Ubuntu上对我不起作用(与其他系统不同),所以我也在寻找其他解决方案……
Jakuje 2015年

也许是因为您键入sshd而不是ssh在您的系统中不起作用?
Fango 2015年

您应该优先使用服务名称而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禁用后运行a 使其禁用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.