A frase secreta que pode ser definida na chave privada não está relacionada ao servidor SSH ou à conexão a ele. Definir uma senha para a chave privada é apenas uma medida de segurança que o proprietário da chave pode tomar para impedir o acesso ao seu shell remoto por terceiros, caso a chave privada seja roubada.
Infelizmente, você não pode forçar os usuários a proteger suas chaves privadas com senhas. Às vezes, são necessárias chaves privadas desprotegidas para automatizar o acesso ao servidor SSH remoto. Um bom hábito que eu recomendo para esses casos é aconselhar os usuários a fazer o hash do arquivo known_hosts (armazenado em ~ / .ssh / known_hosts ), que mantém informações sobre os hosts remotos aos quais o usuário se conecta, usando o seguinte comando:
ssh-keygen -H -f ~/.ssh/known_hosts
Dessa forma, mesmo que terceiros tenham acesso a uma chave privada desprotegida, seria extremamente difícil descobrir para quais hosts remotos essa chave é válida. Obviamente, limpar o histórico do shell é obrigatório para que essa técnica tenha qualquer valor.
Além disso, outra coisa que você sempre deve ter em mente é não permitir que o root efetue login remotamente adicionando o seguinte na configuração do servidor SSH (sshd_config):
PermitRootLogin no
Por outro lado, se você deseja impedir que os usuários usem chaves para autenticar, mas usar senhas, adicione o seguinte ao seu sshd_config :
PasswordAuthentication yes
PubkeyAuthentication no
Uma atenuação seria usar o plug-in do módulo PAM do autenticador do google. Geralmente disponível nos pacotes oficiais.
Isso disponibilizará o 2FA por meio de um código de 6 dígitos no seu smartphone.
Instruções aqui: Como configurar a autenticação multifator para SSH no Ubuntu 16.04
fonte
SIMPLES, você apenas estende o protocolo SSH para que o cliente ou agente SSH relate / defina um sinalizador para dizer se a chave privada original foi criptografada ou não (talvez o lado do servidor possa até fazer uma consulta) - já que o lado do cliente tem visibilidade da chave privada e até solicita a senha quando a chave é criptografada.
fonte