Como posso ativar a autenticação de senha e de chave pública com o OpenSSH?

8

Eu gostaria que o sshd verificasse a chave pública dos usuários e solicitasse sua senha, em vez de apenas uma ou outra. Isso é possível?

    
por surprise_ 21.10.2010 / 01:39

4 respostas

2

Não atualmente. Mas existem alguns patches flutuando que deveriam adicionar isso.

Veja o link

    
por 21.10.2010 / 03:17
8

Isso está finalmente disponível no OpenSSH 6.2 (lançado em março de 2013), usando a opção de configuração AuthenticationMethods .

Por exemplo, você pode adicionar a seguinte linha a sshd_config para exigir autenticação de chave pública e senha:

AuthenticationMethods publickey,password

Ao efetuar login, ssh e scp realizarão primeiro a autenticação por chave pública e, em seguida, solicitarão uma senha:

$ ssh [email protected]
Authenticated with partial success.
[email protected]'s password:

Se você tiver uma senha em seu arquivo de chave privada, você será, naturalmente, primeiro solicitado para isso. Exemplo usando o 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:
    
por 21.12.2013 / 15:33
0

É possível, mas de uma forma arbitrária e limitada. Primeiro, você só permite a autenticação de chave pública. Em seguida, em /etc/ssh/sshd_config , adicione um ForceCommand que executa um script que verificará a senha.

O script quebrará o SFTP, a menos que você verifique se o comando é sftp e passe sem uma senha.

Eu nunca tentei isso para que alguém possa ver mais problemas.

    
por 21.10.2010 / 18:00
0

O OpenSSH no RHEL / CentOS 6.3 agora suporta esse recurso, embora eu não possa encontrá-lo mencionado nas notas de versão do OpenSSH. Das notas de versão do RHEL :

SSH can now be set up to require multiple ways of authentication (whereas previously SSH allowed multiple ways of authentication of which only one was required for a successful login); for example, logging in to an SSH-enabled machine requires both a passphrase and a public key to be entered. The RequiredAuthentications1 and RequiredAuthentications2 options can be configured in the /etc/ssh/sshd_config file to specify authentications that are required for a successful log in. For example:

  ~]# echo "RequiredAuthentications2 publickey,password" >> /etc/ssh/sshd_config

For more information on the aforementioned /etc/ssh/sshd_config options, refer to the sshd_config man page.

    
por 10.07.2012 / 22:37