Ssh sin contraseña para usuarios no root en Docker

Ssh sin contraseña para usuarios no root en Docker

Me encuentro con un problema curioso que nunca antes había visto al configurar SSH sin contraseña entre nodos de Docker para un usuario que no es root. Para preparar el escenario, esto es lo que ha funcionado: Para el usuario root en el nodo 1:

ssh-keygen -t rsa ...
ssh-copy-id node2

Ahora puedo hacer ssh desde el nodo1 -> nodo2 sin contraseña.

Utilizo un usuario diferente (es decir, marca). Realizo los mismos pasos anteriores, genero las claves y las copio en el nodo2 y sigo recibiendo el mensaje. Activé los diagnósticos (ssh -v node2) y obtuve lo siguiente:

[mark@node1 ~]$ ssh -v node2
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to node2 [172.17.0.3] port 22.
debug1: Connection established.
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_rsa-cert type -1
... more stuff
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/id_rsa
debug1: Next authentication method: password
...

Me parece extraño, excepto en otra publicación aquí (https://stackoverflow.com/questions/18136389/using-ssh-keys-inside-docker-container) uno de los carteles hizo el siguiente comentario: "Recuerde que Docker se ejecuta con sudo (a menos que no lo haga), si este es el caso, utilizará las claves ssh raíz". Esto me llamó la atención porque sospecho que esa puede ser la esencia de mi problema.

Como no podía publicar una pregunta de seguimiento allí, pensé en replantear la pregunta aquí. No puedo encontrar ningún detalle en la documentación de Docker específicamente sobre esto, pero parece influir en el comportamiento de ssh sin contraseña para usuarios que no son root.

Agradezco cualquier claridad que alguien pueda brindar.

Respuesta1

Para solucionar problemas/comprender lo que está sucediendo, vale la pena intentarlo ssh -i /home/mark/.ssh/id_rsa...(o cualquier camino que sea) para ver si incluso le permite usar la clave de marca y si funciona al hacerlo. Y como prueba, intente cambiar el nombre de la clave de root y vea qué hace.

Además, (olvidándose de -i) vea si hay un archivo ~/.ssh/config si es así, si tiene algo dentro. Y vea si hay una línea IdentityFile ____en /etc/ssh_config que podría estar especificando la clave de root.

información relacionada