Como desativar a inicialização automática do SSHD no Ubuntu 15.04

11

Nas versões mais antigas do Ubuntu, comentei a linha "start on ..." em /etc/init/ssh.conf. Isso funcionou bem, mas não no Ubuntu 15.04.

Fango
fonte

Respostas:

19

O comando

systemctl disable ssh

fez isso por mim.

@Jakuje: Obrigado por me dar a idéia.

Fango
fonte
7

Isso está documentado em man systemctl:

systemctl disable ssh

impede que o serviço ssh seja iniciado automaticamente. Mas é assim que o systemd faz, mas o ubuntu não aceita e eles têm que fazer do seu jeito:

Documentação oficial: https://wiki.ubuntu.com/SystemdForUpstartUsers#Automatic_starting

De acordo com isso, você deve criar substituição de unidade sem diretiva WantedBy=multi-user.targetno /etc/systemd/system/ssh.service( em vez do link simbólico atual):

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
fonte
Comentar a linha como descrito acima "WantedBy = multiusuário.target" não afeta a inicialização automática no meu sistema. Porém, após a execução de "systemctl disable ssh", o sshd não inicia mais, mesmo que tenha sido ativado manualmente na sessão anterior.
Fango 29/07
com certeza eu quis dizer disable... não sei por que coloquei lá status. Não funcionou para mim no Ubuntu (ao contrário de outros sistemas), então eu estava procurando também para solução diferente ...
Jakuje
Talvez não tenha funcionado no seu sistema porque você digitou sshd em vez de ssh?
Fango 29/07
Você deve preferir o nome do serviço sshao invés do apelido sshd. Por exemplo, systemctl enable sshd não funciona porque os aliases não podem ser usados ​​para habilitar serviços .
BeeOnRope
@BeeOnRope obrigado pelo comentário. Estou usando principalmente o Fedora / RHEL, onde é nomeado sshde o que é mais auto-explicativo. Não sei por que o Debian / Ubuntu começou a usar apenas sshpara o servidor. Vou editar esta resposta para refleti-la. Obrigado.
Jakuje 22/11/19
1

Faz um pouco mais do que o solicitado, mas a abordagem infalível é remover o pacote:

sudo apt-get remove openssh-server

Isso funciona em todas as versões do Ubuntu.

Supondo que você tenha acesso à Internet ou que tenha armazenado em cache o pacote, reinstalar (e reiniciar automaticamente) não é um problema:

sudo apt-get install openssh-server
nobar
fonte
sudo apt-get install --reinstall openssh-server
No23
1

Quero desabilitar um serviço e systemctl disable myservicenão funciona, mas executar uma systemctl daemon-reloaddesabilitação posterior o desabilita.

SAMPro
fonte