2010-11-26 22:04:58 +0000 2010-11-26 22:04:58 +0000
411
411

¿Permisos de la clave privada en la carpeta .ssh?

Cambié mis permisos en mi carpeta .ssh y ahora cuando uso un programa que usa mi clave privada, tengo que escribir mi contraseña cada vez. ¿Cuáles deberían ser mis permisos en mi archivo id_rsa para no tener que escribir una contraseña cada vez que uso una aplicación que la usa?

Actualmente mis permisos están establecidos en:

-rw-------@ 1 Jody staff 114 Nov 4 23:29 config
-rw------- 1 Jody staff 1743 Oct 21 2009 id_rsa
-rw-------@ 1 Jody staff 397 Oct 21 2009 id_rsa.pub 
-rw-------@ 1 Jody staff 3855 Sep 13 22:35 known_hosts

Respuestas (4)

93
93
93
2015-06-09 20:39:45 +0000

Estuve luchando con esto por siempre y finalmente descubrí lo que se necesita. Reemplaza $USER en todas partes con el nombre de usuario SSH que quieras entrar en el servidor. Si estás tratando de iniciar sesión como root necesitarías usar /root/.ssh etc., en lugar de /home/root/.ssh que es como es para los usuarios no root.

  • El directorio principal del servidor no debe ser escribible por otros: chmod go-w /home/$USER
  • La carpeta SSH del servidor necesita 700 permisos: chmod 700 /home/$USER/.ssh
  • El archivo Authorized_keys necesita 644 permisos: chmod 644 /home/$USER/.ssh/authorized_keys
  • Asegúrese de que user es el propietario de los archivos/carpetas y no root: chown user:user authorized_keys y chown user:user /home/$USER/.ssh
  • Ponga la clave pública generada (de ssh-keygen) en el archivo authorized_keys del usuario en el servidor
  • Asegúrese de que el directorio principal del usuario está configurado como usted espera y que contiene la carpeta correcta de .ssh que ha estado modificando. Si no es así, usa usermod -d /home/$USER $USER para arreglar el problema
  • Finalmente, reinicia ssh: service ssh restart
  • Luego asegúrate de que el cliente tiene los archivos de clave pública y clave privada en la carpeta .ssh del usuario local e inicia sesión: ssh user@host.com
37
37
37
2013-01-03 03:50:21 +0000

También asegúrate de que tu directorio de inicio no sea escribible por otros usuarios.

chmod g-w,o-w ~

6
6
6
2010-11-26 22:07:13 +0000

Los permisos no deberían tener nada que ver con esto. Tu clave privada está encriptada con la contraseña, por lo que necesitas introducirla para que la clave privada sea desencriptada y pueda ser utilizada.

Podrías considerar ejecutar un agente ssh, que puede guardar en caché las claves desencriptadas y las suministrará a las aplicaciones que las necesiten.

4
4
4
2014-04-17 20:20:44 +0000

Felipe está en lo cierto… el directorio que contiene tu directorio .ssh no debe ser escribible por grupo u otro. Por lo tanto chmod go-w ~ es la siguiente cosa lógica a probar si todavía se te pide una contraseña cuando ssh'ing después de ejecutar ssh-keygen -t rsa; cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys, asumiendo que no asignas una frase de contraseña en el comando ssh-keygen, y tu directorio .ssh está en tu directorio principal.

Preguntas relacionadas

6
10
12
8
2