Esta pregunta ya me la han hecho muchas veces, pero las soluciones no me funcionan.
Estoy intentando realizar ssh con una clave desde un sistema Ubuntu a mi Synology NAS, pero todavía me piden la contraseña de usuario porque la clave privada está demasiado abierta.
Creé mis claves en /opt/duplicati/config/.ssh id_rsa e id_rsa.pub.
Luego usé ssh-copy-id para copiar la clave pública a mi NAS.
Pero cuando intento conectarme a mi NAS, aparece esto
ssh -p '9922' -i /opt/duplicati/config/.ssh/id_rsa.pub '[email protected]'
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/opt/duplicati/config/.ssh/id_rsa.pub' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/opt/duplicati/config/.ssh/id_rsa.pub": bad permissions
[email protected]'s password:
Es extraño que el problema esté relacionado con la clave privada, pero se queja de que el permiso 0644 para la clave pública es demasiado abierto.
La solución para esto es reducir el permiso para ambas claves y la carpeta .ssh a 0400 o 0600, pero cuando hago eso, parece que ssh ya no puede leer el archivo y aparece este error.
Load key "/opt/duplicati/config/.ssh/id_rsa.pub": error in libcrypto
Ya probé esto con root y con un usuario administrador, pero no puedo hacerlo funcionar.
¿Esto se debe a que mis claves no están en la carpeta de inicio habitual ~/.ssh/?
Desde otro sistema Ubuntu pude acceder a mi NAS mediante ssh con la clave almacenada en ~/.ssh/
Respuesta1
ssh -p '9922' -i /opt/duplicati/config/.ssh/id_rsa.pub '[email protected]'
Su problema real es que está utilizando el archivo de clave incorrecto para el parámetro "-i". El archivo con la extensión ".pub" contiene la parte pública de la clave. El archivo correspondiente sin la extensión ".pub" contiene la parte privada de la clave. Cuando ejecuta un cliente ssh para conectarse a un servidor remoto, debe proporcionar el archivo de clave privada al cliente ssh, no el archivo de clave pública.
Probablemente tenga un archivo llamado "/opt/duplicati/config/.ssh/id_rsa" sin la extensión ".pub". Este es el archivo que debes usar al ejecutar ssh:
ssh -p '9922' -i /opt/duplicati/config/.ssh/id_rsa '[email protected]'
^--- no extension
Recibes un error sobre los permisos porque los archivos de clave privada contienen información confidencial, por lo que el ssh
programa requiere que los archivos de clave privada tengan permisos que impidan que otros los lean. El archivo de clave pública (el archivo con la extensión ".pub") no contiene información confidencial, por lo que la herramienta que crea archivos de clave crea el archivo de clave pública con permisos menos estrictos.
Respuesta2
Aquí hay un openssl relacionadoProblema de GitHuby una falla del servidorpregunta. En ambas situaciones, generar una nueva clave parece haber funcionado. Esto podría deberse a un problema de compatibilidad o corrupción.