在旧版本的 Ubuntu 中,我注释掉了 /etc/init/ssh.conf 中的“start on ...”行。这很有效,但在 Ubuntu 15.04 中却不行。
答案1
命令
systemctl disable ssh
为我做了。
@Jakuje:谢谢你给我这个想法。
答案2
这已记录在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
答案3
它做的事情比要求的多一点,但万无一失的方法是删除该包:
sudo apt-get remove openssh-server
这适用于所有版本的 Ubuntu。
假设您可以访问互联网,或者已经缓存了该包,则重新安装(并自动重启)不是问题:
sudo apt-get install openssh-server
答案4
我想禁用一项服务,但systemctl disable myservice
没有用,但systemctl daemon-reload
在禁用后运行却使其禁用。