Como posso realmente desligar o servidor ssh?

15

Desabilito o servidor ssh com systemctl disable ssh e reinicializo. Após a reinicialização, ainda consigo fazer login no servidor remoto através do ssh. Eu uso o systemctl status ssh para verificar o status do servidor e ele está inativo.

$ systemctl -a | grep ssh
ssh.service                                               loaded    inactive dead      OpenBSD Secure Shell server
[email protected]:22-192.168.0.104:31079.service        loaded    active   running   OpenBSD Secure Shell server per-connection daemon (192.168.0.104:31079)
system-ssh.slice                                          loaded    active   active    system-ssh.slice
ssh.socket                                                loaded    active   listening OpenBSD Secure Shell server socket
codexplorer
fonte
Você poderia adicionar a saída de systemctl status sshsua pergunta?
Fiximan 9/07/19
É muito parecido com:● ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled) Active: inactive (dead) since Tue 2019-07-09 23:25:16 CST; 1s ago
codexplorer 09/07/19
1
Além disso, você deve bloquear a porta 22 no firewall, para que, mesmo que o servidor SSH esteja sendo executado de alguma forma, ele não seja acessível a partir do controle remoto.
dr01 10/07/19

Respostas:

26

O soquete SSH do systemd está ativo e o serviço SSH é ativado por soquete. Você também precisa desativar o soquete:

systemctl disable --now ssh.socket

De fato, no meu sistema Arch, o daemon sshd é executado apenas quando uma nova conexão entra. Em outras ocasiões, as únicas instâncias do sshd são os processos filhos que são executados para lidar com essas conexões.

Veja também:

muru
fonte
2
@spender é o blog oficial de Lennart Poettering, por isso é difícil obter uma fonte 'melhor' do que isso. Não sei por que você está recebendo um aviso do Firefox, mas não estou
Michael Snook
1
Ah, você provavelmente está recebendo um aviso sobre o certificado autoassinado dele.
muru 10/07/19
1
@ spender: Na verdade, a mensagem de erro é totalmente horrível. Deveria dizer para você não enviar dados privados para o site, e não que "hackers possam roubar seus dados [implícitos: em repouso] se você visitar o site". Parece uma mensagem de scareware / fake-AV que os usuários devem ser treinados para ignorar .
R .. GitHub Pare de ajudar o gelo
1
Agora que o Lets Encrypt é tão fácil de usar, o Poettering deve usá-lo em vez de certificados autoassinados. : /
muru 10/07/19
5
@muru dar Poettering um pouquinho de tempo - é preciso tempo para integrar um CA em um gerenciador de inicialização ....
ivanivan