Respuestas:
No actualmente. Pero hay algunos parches flotando que se supone que agregan esto.
Finalmente está disponible a partir de OpenSSH 6.2 (lanzado en marzo de 2013), utilizando la AuthenticationMethods
opción de configuración.
Por ejemplo, puede agregar la siguiente línea sshd_config
para requerir autenticación de clave pública y contraseña:
AuthenticationMethods publickey,password
Al iniciar sesión, ssh
y scp
en primer lugar realizar la autenticación de clave pública, y luego petición de contraseña:
$ ssh user@example.org
Authenticated with partial success.
user@example.org's password:
Si tiene una contraseña en su archivo de clave privada, por supuesto, primero se le pedirá eso. Ejemplo usando PuTTY :
Using username "user".
Authenticating with public key "rsa-key-20131221-user"
Passphrase for key "rsa-key-20131221-user":
Further authentication required
user@example.org's password:
OpenSSH en RHEL / CentOS 6.3 ahora admite esta característica, aunque no puedo encontrarla mencionada en las notas de la versión de OpenSSH. De las notas de la versión de RHEL :
SSH ahora se puede configurar para requerir múltiples formas de autenticación (mientras que anteriormente SSH permitía múltiples formas de autenticación de las cuales solo se requería una para un inicio de sesión exitoso); por ejemplo, iniciar sesión en una máquina habilitada para SSH requiere que se ingrese una frase de contraseña y una clave pública. Las opciones
RequiredAuthentications1
yRequiredAuthentications2
se pueden configurar en el/etc/ssh/sshd_config
archivo para especificar las autenticaciones necesarias para un inicio de sesión exitoso. Por ejemplo:~]# echo "RequiredAuthentications2 publickey,password" >> /etc/ssh/sshd_config
Para obtener más información sobre las
/etc/ssh/sshd_config
opciones mencionadas , consulte lasshd_config
página del manual.
Es posible pero de una manera poco clara y limitada. Primero solo permite la autenticación de clave pública. Luego, /etc/ssh/sshd_config
agregue un ForceCommand
archivo que ejecute un script que verificará la contraseña.
El script interrumpirá SFTP a menos que verifique que el comando es sftp y lo permita sin una contraseña.
Nunca lo he intentado para que alguien pueda ver más problemas.