Este artículo describe el procedimiento para configurar una autenticación de clave pública Secure Shell (SSH).
-
Inicie sesión en el servidor.
-
Verifica que el usuario existe:
`getent passwd <username>`
-
Busque el valor asignado al AuthorizedKeysFile parámetro dentro de /etc/ssh/sshd_config para determinar el archivo donde se almacena la clave:
`grep AuthorizedKeysFile /etc/ssh/sshd_config`
Nota :La ubicación predeterminada es ~/.ssh/authorized_keys dentro del directorio de inicio predeterminado del usuario.
-
Cambie al directorio de inicio del usuario:
`cd /directory-path`
Nota :Sustituir directorio-ruta con la ruta del directorio de inicio del usuario.
-
Verifique los niveles de permiso para .ssh/ directorio. Debería tener
0700
permisos y ser propiedad del usuario.`ls .ssh`
una. Si el directorio no existe, créelo y establezca los permisos en
0700
:`mkdir -m 700 .ssh`
b. Si el directorio existe, puede establecer la propiedad por separado:
`chmod 700 .ssh/` `chown -R username:username /path/to/home/.ssh`
-
Cambiar a .ssh/ directorio y claves_autorizadas archivo:
```cd .ssh/ vim authorized_keys ll```
-
Agregue la clave pública SSH al final de authorized_keys archivo:
`vim authorized_keys`
-
Cambiar permisos a
600
y garantizar la propiedad adecuada del archivo:`chmod 600 authorized_keys` `chown -R username:username authorized_keys`
Deshabilitar autenticación de contraseña
Si desea que todos los usuarios inicien sesión con claves públicas y no con contraseñas, puede deshabilitar la autenticación con contraseña.
Importante :Deshabilitar la autenticación de contraseña bloquea a los usuarios que usaron una contraseña para acceder al servidor si la autenticación SSH no está configurada para su cuenta.
-
Cree una copia de seguridad de sshd_config archivo antes de realizar cualquier cambio:
mkdir /home/username/backup cp /etc/ssh/sshd_config /home/username/backup/sshd_config.bak
-
Abra el sshd_config archivo:
`vim /etc/ssh/sshd_config`
-
Encuentra la PubkeyAuthentication parámetro y configúrelo en sí. Si la línea está comentada, elimine cualquier indicador de comentario (
#
). -
Encuentre la autenticación de contraseña parámetro dentro del mismo archivo y configúrelo en
no
. -
Guarde los cambios en el archivo y salga del archivo.
-
Verifique la sintaxis usando
sshd -t
. Si no hay errores, vuelva a cargarsshd
:`service sshd reload`
Notas adicionales:
- El archivo de clave privada en su estación de trabajo local (del lado del cliente) debe tener permisos establecidos en
600
y el .ssh el directorio debe tener los permisos establecidos en700
. Los archivos Authorized_keys también funcionan con644
permisos, pero600
es más seguro.