Supongamos que tengo un sistema remoto llamado "sistema remoto" y una cuenta de usuario "foouser" en ese sistema.
Sé que en mi sistema local, puedo generar un par de claves SSH como usuario local "foouser", poner la clave pública en el archivo "/home/foouser/.ssh/authorized_keys" en "remotesystem". Cuando utilizo SSH como "buscador" de mi sistema local a "sistema remoto", SSH utiliza el par de claves para autenticarme.
Pero, ¿qué sucede si mi nombre de usuario local no es el mismo que el nombre de usuario en el sistema remoto? Es decir, ¿qué pasa si quiero SSH como usuario local "baruser" a "remotesystem"? Obviamente, tendré que generar un par de claves para "baruser" y agregar la clave pública a "/home/foouser/.ssh/authorized_keys". Entonces, debería ser capaz de "ssh foouser @ remotesystem" mientras esté conectado como "baruser" localmente, y SSH usará el par de claves para autenticar, ¿verdad?
Lo pregunto porque estoy intentando que la autenticación de clave funcione en este escenario, sin éxito. No estoy seguro de si se debe a la falta de coincidencia del nombre de usuario o a un problema de configuración con el servidor SSH en el sistema remoto.
fuente
Respuestas:
Sí, puedes hacer esto, tal como lo describiste.
fuente
Es un poco aparte, pero .....
Si siempre usa el mismo nombre de usuario para un servidor remoto, también puede resultarle útil agregar un host a su configuración ssh:
De esa manera, no necesita recordar especificar el nombre de usuario al iniciar sesión, y lo descarta cuando tenga problemas con las claves en el futuro.
fuente
Su nombre de usuario local realmente no importa (aparte de la clave privada que tiene que residir dentro del directorio de inicio de su usuario local). Simplemente copie la clave en la
authorized_keys
sección del usuario remoto y funcionará.fuente
Con cualquier problema relacionado con ssh, lo primero que debe hacer es aumentar la verbosidad del cliente:
Si esto no le da una idea de lo que está mal, debe cambiar el nivel de registro en el servidor y reiniciar el demonio.
Debería encontrar la salida de depuración en /var/log/auth.log (o donde ssh esté configurado para iniciar sesión). Una vez que haya encontrado el problema, recuerde volver a configurarlo como lo encontró.
fuente
Los permisos en los directorios .ssh en ambas máquinas deben ser correctos. En general, eso significa 700 en el directorio .ssh y como máximo 755 en el directorio de inicio. Además de 600 en todos los archivos en los directorios .ssh.
Si el usuario en el sistema remoto es root, asegúrese de que root pueda ssh. (PermitRootLogin en sshd_config) y esa clave pública (PubkeyAuthentication) y, si es necesario, RSA (RSAAuthentication) están habilitadas.
fuente
Si tiene SE Linux habilitado, también deberá hacer lo siguiente.
Agregue la etiqueta SELinux para
authorized_keys
que sshd pueda acceder a ella.fuente
Parece que estás haciendo las cosas correctamente, pero asegúrate de que los permisos sean correctos en claves_autorizadas. Deben establecerse en 600.
fuente