Não, desabilitar o acesso SSH no arquivo sshd_config
não afetará a capacidade de login local ou através do uso do comando su
.
Embora você possa limitar as contas que podem se conectar ao SSH, conforme descrito na resposta referenciada (ou seja, definindo DenyUsers specadmin
ou AllowUsers mary
no arquivo /etc/ssh/sshd_config
), ele ainda seria menos seguro do que é considerado uma prática comum para SSH.
Você não deve seguir esse caminho e, em vez disso, alternar para a autenticação baseada em chave.
Se você estiver configurando pela primeira vez, pode parecer complicado, mas à medida que você usa os serviços de nuvem, pode adicionar facilmente um novo servidor e executar testes (btw, os serviços de nuvem geralmente dão acesso à Web ao console se você se trancar).
Primeiro, você deve definir (ou garantir que as seguintes opções estejam definidas no sshd_config
):
PubkeyAuthentication yes
Em seguida, você deve gerar um par de chaves em sua máquina cliente ( ssh-keygen
em máquinas Linux) e adicionar a chave pública ao arquivo a seguir (por mary
):
/home/mary/.ssh/authorized_keys
copiando manualmente (uma chave é uma cadeia de caracteres) ou usando o comando ssh-copy-id mary@<destination_server>
, que carregará a chave automaticamente.
Você deve conseguir se conectar ao servidor usando ssh mary@<destination_server>
usando a chave. Se você definir a frase secreta durante ssh-keygen
, você deverá inseri-la, mas ela não será transferida entre o cliente e o servidor. Para ter certeza de que você está fazendo as coisas corretamente, defina uma senha para o arquivo-chave diferente da senha no servidor de destino.
Se você conseguir fazer login com êxito usando a autenticação de chave (e senha), poderá desativar a senha com base em uma, adicionando / garantindo as seguintes configurações em sshd_config
:
PasswordAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
IgnoreRhosts yes
IgnoreUserKnownHosts yes
HostbasedAuthentication no
Após as alterações no sshd_config
, você deve reiniciar o daemon SSH ( sudo service ssh restart
) no servidor.
Para sua tranquilidade, você também pode não permitir o acesso via SSH para a conta root no sshd_config
(embora, se você executar o acima, o root não consiga efetuar login por padrão):
PermitRootLogin no