Agregar clave privada SSH da error de que 0644 permisos están demasiado abiertos

8

He generado una clave privada ssh .key. Quiero agregarlo a mi ssh en Mac para conectarme a un servidor remoto, solo tengo el archivo known_hosts en el directorio ~/.ssh .

Cuando intento agregarlo usando este comando:

ssh-add -K ~/.ssh/myKey.ppk

Recibo este error:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/username/.ssh/myKey.ppk' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
    
pregunta Mohamed Mellal 12.11.2018 - 09:26

4 respuestas

15

El mensaje de error se muestra porque el permiso de archivo está configurado de tal manera que otros usuarios pueden leerlo aparte del usuario que ha iniciado sesión. Para superar el mensaje de error, deberá cambiar los permisos de archivo de la clave privada para que solo usted pueda leerla.

Para hacerlo, ejecute el siguiente comando en la Terminal:

cd ~/.ssh ; chmod 400 myKey.ppk

Esto permitirá que solo su usuario lea (y no escriba y ejecute) el archivo de clave privada y evitará que todos los demás lean, escriban y ejecuten el archivo.

Esto se ocupará del mensaje de error que se le muestra y debería poder agregar el archivo de clave privada de forma correcta.

    
respondido por el Nimesh Neema 12.11.2018 - 09:37
8

Vaya al terminal y escriba este comando:

chmod 0600 ~/.ssh/myKey.ppk

Eso debería estar bien.

    
respondido por el Scott Earle 12.11.2018 - 09:38
3

Mientras se cambian los permisos del archivo .ppk , esta advertencia desaparecerá, recomendaría desactivar el acceso del grupo / otros al directorio .ssh por completo:

cd ~
chmod g-rwx .ssh
chmod o-rwx .ssh

De lo contrario, con permisos inseguros en su directorio principal, otros usuarios podrían colocar archivos (como authorized_keys ) en su directorio .ssh , o desordenar con known_hosts , o cambiar los elementos config , y obtener acceso de esa manera - sin tener que saber ni su contraseña ni su clave privada.

En segundo lugar, en un entorno multiusuario sería una práctica dudosa simplemente retroactivamente restringir los permisos a una clave. Si una clave privada ha sido legible en todo el mundo en un sistema multiusuario en un momento dado, debe considerarse ya comprometida.

    
respondido por el jvb 12.11.2018 - 16:17
0

parece que copió su clave privada de Windows o de otra computadora donde usó PuTTY. Desafortunadamente, la herramienta de línea de comandos ssh no admite este formato de clave y, por lo tanto, tiene dos opciones:

  • Vuelve a instalar PuTTY (debería existir también en tu mac)
  • Convierta la clave privada del formato de archivo PuTTY al formato OpenSSH (nuevamente usando PuTTYGen de PuTTY como ya se describió en mi respuesta anterior :

    • Open PuttyGen
    • Haz clic en Cargar
    • Cargue su clave privada
    • Vaya a Conversiones - > Exportar OpenSSH y exporte su clave privada
    • Copie su clave privada a ~/.ssh/id_rsa

Si aún ve los problemas con la nueva clave exportada ( ~/.ssh/id_rsa , asegúrese de que nadie más pueda leer la clave, pero usted (es su clave privada) quitando todas las privilegios de todos los demás ejecutando chmod 600 ~/.ssh/id_rsa .

    
respondido por el Jakuje 12.11.2018 - 21:15

Lea otras preguntas en las etiquetas