El error: Server refused our key, al intentar conectar con clave publica y privada a un servidor SSH, puede deberse a varias razones. Vamos a ver las posibles razones y su solución.
En este artículo:
- 1. Posibles razones del error Server refused our key
- 2. Permisos incorrectos en directorios necesarios para SSH.
1. Posibles razones del error Server refused our key:
- CASO 1. Puede ser un problema de permisos en el directorio .ssh/ o del archivo authorized_keys.
- CASO 2. También puede ser que hayamos generado las claves pública y privada con PuTTYgen (Windows) y la estemos intentando hacer funcionar en un Server Linux, pero parece que el formato que utiliza PuTTYgen no es totalmente compatible con el que utiliza un server Open SSH Linux y el comando ssh-keygen.
2. Permisos incorrectos en directorios necesarios para SSH
Si estamos intentando conectar al servidor SSH con el acceso por medio de clave pública/privada habilitado, desde un cliente con la clave privada , es posible que recibamos el error: Server refused our key
–> Posibles razones del error: Probablemente el propietario del directorio /.ssh y de los archivos no es el usuario adecuado, o los permisos del directorio /.ssh y del archivo authorized_keys no son los adecuados.
Así que revisaremos los permisos:
- del directorio
- del archivo
- el propietario del directorio del usuario (ha de ser el propio usuario)
2.1 SOLUCIÓN AL PROBLEMA DEL ERROR SERVER REFUSED OUR KEY POR PERMISOS INCORRECTOS
–> El directorio .ssh/ del usuario debe tener permisos 700. Así que ejecutamos sobre dicho directorio:
chmod 700 |
–> el archivo authorized_keys del directorio del usuario en en servidor (donde estará su clave pública) ha de tener los permisos 644. Eejecutamos pues sobre dicho archivo:
chmod 644 |
*** Y algo muy importante que puede llegar a darnos problemas:
–> El usuario propietario del directorio .ssh y los archivos contenidos en él, ha de ser el usuario que se intenta conectar por ssh.
Si no lo es, le hacemos propietario con:
chown -R username:username /home/username |
—> Más info sobre el problema y solución.
3. Claves SSH creadas con PuTTYgen (Windows) son rechazadas por el Servidor SSH Linux.
Para solucionar este problema, tendremos que generar las claves desde el Servidor Linux, posteriormente copiar la clave privada en el cliente SSH (en este caso Windows), y después convertir clave SSH Linux a formato de PuTTY con PuTTYgen.
*** Solución para Convertir clave privada de Open SSH (Linux ) a formato PuTTY (Windows) AQUÍ
Tras haber revisado los permisos y las claves creadas (desde Linux o desde Windows), ya podremos acceder sin problema al servidor SSH por medio de clave pública y privada.