¿ssh-keygen funciona solo para root?

¿ssh-keygen funciona solo para root?

¿Funciona ssh-keygen -t rsa si solo está configurado para usuario root?

es decir, si el nombre de usuario en el sistema local es sodio y genero la clave usando el comando mencionado anteriormente y en el sistema remoto si coloco la clave en /root/.ssh autorizado_keys, esto funciona.

Pero en el sistema remoto si la clave se coloca en /home/natrium/.ssh autorizado_keys

Esto todavía solicita una contraseña. ¿Es este el comportamiento esperado o hay algún problema en el procedimiento anterior?

Gracias..

Respuesta1

Verifique los permisos en el sistema remoto:

$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys

Hay una herramienta que podría instalarse en su dist (ubuntu/debian la tiene) llamada:ssh-copia-idque hará esto por ti:

$ ssh-copy-id <remote>

Si eso no funciona, intente ssh con la opción "-v" para ver mensajes más detallados.

Versión larga:

#From client to server
client$ scp ~/.ssh/id_rsa.pub remote_server.org:

# next, setup the public key on server
server$ mkdir ~/.ssh
server$ chmod 700 ~/.ssh
server$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
server$ chmod 600 ~/.ssh/authorized_keys
server$ rm ~/id_rsa.pub

Respuesta2

Verifique los permisos desde ~sodium/.ssh/authorized_keys hasta /. Si alguna de estas son claves ssh grabables en todo el mundo, no se confiará en ellas.

Ejecute ssh-keygen como el usuario para quien necesita la clave. Debe ejecutarse en el sistema al que se conectará.

ssh-copy-id copiará los identificadores de la máquina de destino a la máquina en la que desea utilizar la clave.

Respuesta3

Prueba esto:

ssh -v [email protected]

Es posible que esté intentando iniciar sesión en el sistema remoto4 como sodium, pero instaló la clave para natrium.

Respuesta4

No importa dónde generes las claves, pero sí dónde las almacene.

Si desea realizar SSH de una máquina a otra, entonces la clave privada debe estar en la carpeta .ssh de la cuenta desde la que realiza SSH como id_rsa, y la clave pública debe estar en el archivo .ssh/authorized_keys de la cuenta que están haciendo SSH. Las claves son para los usuarios, no para las máquinas. Entonces, las cuentas en las que los instales marcan una gran diferencia.

Algo más a tener en cuenta es la versión de SSH que estás usando, según tengo entendido, para SSH2 las claves deben estar en .ssh/authorized_keys2.

Finalmente, para ver realmente lo que está pasando, es mejor seguir las instrucciones de Lexsys y realizar ssh en modo detallado con el indicador -v.

información relacionada