Actualmente tengo un Ubuntu Server 12.04 con OpenSSH junto con Samba y algunos otros servicios. En este momento tengo configurada la autenticación de clave pública, y me pregunto si es posible configurar la autenticación de dos factores. He estado buscando en Google Authenticator que actualmente uso con mi cuenta de Gmail.
He encontrado un módulo PAM que parece que será compatible, sin embargo, parece que estás obligado a usar una contraseña y el código generado.
Me pregunto si hay una manera de usar la aplicación Google Authenticator (o algo similar) junto con mi clave pública para autenticarme en mi servidor SSH.
ssh
authentication
public-key
two-factor
Burro de hormigón
fuente
fuente
Respuestas:
Red Hat ha agregado un parche a OpenSSH en RHEL (y, por lo tanto, CentOS) 6.3 para requerir múltiples mecanismos de autenticación, por lo que puede hacer algo como esto:
Consulte las notas de la versión para obtener muchos más detalles.
Desafortunadamente, esta característica no parece estar en OpenSSH aguas arriba ni en Ubuntu 12.04, así que a menos que desee encontrar el parche y recompilar OpenSSH, me temo que no tiene suerte.
fuente
AuthenticationMethods
para especificar múltiples métodos requeridos, de modo que puede requerir una clave ssh y PAM, con PAM haciendo el final del Autenticador de Google.Estás buscando Duo Security
fuente
Puede usar tanto el módulo PAM de Google Authenticator como las claves públicas, pero solo se usará uno a la vez para una autenticación determinada. Es decir, si un usuario inicia sesión con una clave pública autorizada, no se requerirá ningún token.
O, para decirlo de otra manera: los tokens solo son necesarios para las autenticaciones de contraseña, no las claves SSH.
Por cierto, esta limitación no proviene del módulo Google Authenticator, sino de SSH, que solo implementa la autenticación de dos factores (vía
ChallengeResponseAuthentication
) para PAM, pero no llama a PAM cuando se proporciona una clave pública válida.fuente
AuthenticationMethods
parámetro de configuración que puede voltear esto. Ahora puedes requerir ambos.Esta pregunta es de 2012. Desde entonces, SSH ha cambiado y se ha implementado el protocolo SSH2.
En versiones más recientes de SSH (> = 6.2), man sshd_config menciona:
Esta página http://lwn.net/Articles/544640/ también menciona la posibilidad de usar una clave pública y una autenticación PAM al mismo tiempo.
fuente
Sé que esta pregunta es un poco obsoleta, pero por el bien de las futuras personas (incluido yo mismo) que están buscando una solución, también se habla de usar la opción ForceCommand en el archivo sshd_config para ejecutar un script que luego realiza la autenticación. Hay un script de ejemplo que aquí se puede modificar un poco para sus necesidades, aunque en ese ejemplo que llama desde el archivo authorized_keys en vez de hacerlo en todo el sistema con ForceCommand de sshd_config.
fuente
Obtenga una YubiKey y siga esta guía http://berrange.com/posts/2011/12/18/multi-factor-ssh-authentication-using-yubikey-and-ssh-public-keys-together/
AFAIK, esta es la mejor manera de implementar Yubikey en su servidor para acceso SSH. La guía anterior le permite utilizar la clave pública + yubikey, mientras que si utiliza la guía oficial ( http://code.google.com/p/yubico-pam/wiki/YubikeyAndSSHViaPAM ), no funciona con public- llave.
Saludos, Vip
fuente
Si configura una frase de contraseña en su clave privada, entonces ya tiene autenticación de dos factores. Para iniciar sesión, las personas necesitarían:
fuente