Comando para desativar o login com senha via ssh?

Comando para desativar o login com senha via ssh?

Portanto, estou ciente de que posso desabilitar a autenticação de senha via ssh modificando- /etc/ssh/sshd_configa alterando PasswordAuthentication Yespara PasswordAuthentication no. Quero garantir que os logins ssh só possam ser feitos por meio de um arquivo-chave para cada usuário.

Existe um bom comando de uma linha que define essa opção?

Responder1

Eu testei isso com sucesso:

sudo sed -E -i 's|^#?(PasswordAuthentication)\s.*|\1 no|' /etc/ssh/sshd_config
if ! grep '^PasswordAuthentication\s' /etc/ssh/sshd_config; then echo 'PasswordAuthentication no' |sudo tee -a /etc/ssh/sshd_config; fi

Isso será usado sedpara editar o arquivo no local. Além de substituir o que vem a seguir PasswordAuthenticationpor no, removerá o comentário no início da linha, que existe por padrão no Ubuntu. Se este comando for executado uma segunda ou terceira vez, não haverá alterações adicionais no arquivo.

A segunda linha adiciona a opção de configuração ao arquivo caso ele tenha sido excluído de alguma forma.

informação relacionada