Gostaria que o sshd verifique a chave pública dos usuários e solicite sua senha, em vez de apenas uma ou outra. Isso é possível?
fonte
Gostaria que o sshd verifique a chave pública dos usuários e solicite sua senha, em vez de apenas uma ou outra. Isso é possível?
Atualmente não. Mas existem alguns patches que devem adicionar isso.
Finalmente, está disponível a partir do OpenSSH 6.2 (lançado em março de 2013), usando a AuthenticationMethods
opção de configuração.
Por exemplo, você pode adicionar a seguinte linha sshd_config
para exigir autenticação de chave pública e senha:
AuthenticationMethods publickey,password
Ao entrar, ssh
e scp
vai primeiro executar a autenticação de chave pública, e, em seguida, prompt para uma senha:
$ ssh [email protected]
Authenticated with partial success.
[email protected]'s password:
Se você possui uma senha no seu arquivo de chave privada, é claro que primeiro será solicitado. Exemplo usando PuTTY :
Using username "user".
Authenticating with public key "rsa-key-20131221-user"
Passphrase for key "rsa-key-20131221-user":
Further authentication required
[email protected]'s password:
O OpenSSH no RHEL / CentOS 6.3 agora suporta esse recurso, embora não seja possível encontrá-lo mencionado nas notas de versão do OpenSSH. Nas notas de versão do RHEL :
Agora o SSH pode ser configurado para exigir várias formas de autenticação (enquanto o SSH anteriormente permitia várias formas de autenticação, das quais apenas uma era necessária para um login bem-sucedido); por exemplo, fazer login em uma máquina habilitada para SSH exige que uma senha e uma chave pública sejam inseridas. As opções
RequiredAuthentications1
eRequiredAuthentications2
podem ser configuradas no/etc/ssh/sshd_config
arquivo para especificar as autenticações necessárias para um login bem-sucedido. Por exemplo:~]# echo "RequiredAuthentications2 publickey,password" >> /etc/ssh/sshd_config
Para mais informações sobre as
/etc/ssh/sshd_config
opções mencionadas acima , consulte asshd_config
página de manual.
É possível, mas de uma maneira esquisita e limitada. Primeiro, você permite apenas a autenticação de chave pública. Em seguida, /etc/ssh/sshd_config
adicione a ForceCommand
que executa um script que verificará a senha.
O script quebrará o SFTP, a menos que você verifique se o comando é sftp e permita que ele seja executado sem uma senha.
Eu nunca tentei isso para que alguém possa ver mais problemas.