La autenticación de clave pública le permite acceder a un servidor a través de SSH sin contraseña. Aquí hay dos métodos para copiar la clave ssh pública al servidor.
Creo que entiendes el concepto básico de SSH. Su servidor Linux tiene ssh habilitado. Ha generado claves ssh en su computadora personal. Ahora desea cargar su clave pública en las claves autorizadas del servidor para que pueda acceder sin tener que escribir la contraseña de su cuenta todo el tiempo.
Este tutorial rápido le muestra dos métodos para agregar una clave SSH pública al servidor.
Requisitos
Antes de que veas eso, aclaremos lo que ya deberías tener:
- Su servidor de destino debe tener habilitado ssh
- Debería haber generado claves ssh públicas y privadas (solo use el comando ssh-keygen -t rsa )
- Debe tener una cuenta de usuario y una contraseña en el servidor. Incluso la cuenta raíz servirá.
- Debe conocer la dirección IP del servidor
Ahora que se ha asegurado de los cuatro requisitos anteriores, veamos cómo usar la autenticación de clave pública.
La autenticación es por base de usuario, por lo que la clave pública va a la casa del usuario previsto.
Método 1:copiar automáticamente la clave ssh al servidor
El primer método es donde el usuario final copia la clave pública de su computadora personal a la lista de claves autorizadas en el servidor remoto.
Aquí, asumo que pudo iniciar sesión en el servidor remoto usando ssh [email protected]_of_server. Te pide la contraseña de tu cuenta y entras al servidor.
Si agrega su clave pública al servidor, debería poder iniciar sesión sin tener que escribir la contraseña todo el tiempo.
OpenSSH proporciona una llamada de herramienta útil llamada ssh-copy-id para copiar claves públicas ssh a sistemas remotos. Incluso crea los directorios y archivos necesarios.
Como mencioné anteriormente, debe conocer el nombre de usuario y la contraseña del servidor al que desea acceder a través de la autenticación de clave pública.
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]_ADDRESS_OF_THE_SERVER
Cuando se le solicite, ingrese la contraseña de su cuenta de usuario en el servidor remoto. Su clave pública debe copiarse en la carpeta adecuada en el servidor remoto automáticamente.
He usado ~/.ssh/id_rsa.pub porque esa es la ubicación predeterminada para la clave ssh pública. Si lo tiene en alguna otra ubicación, debe usarlo en el comando anterior.
Método 2:Copiar manualmente la clave ssh pública al servidor
El primer método tenía la acción en el lado del usuario. Digamos que usted es el administrador del sistema y su servidor no permite el inicio de sesión SSH mediante contraseña. La única forma de acceder al servidor es usando la autenticación de clave pública SSH.
En tal caso, puede solicitar al usuario final que proporcione su clave pública. Ahora lo que puede hacer es crear el directorio .ssh/authorized_keys y luego copiar la clave pública aquí.
Déjame mostrarte los pasos.
Paso 1:Obtener la clave pública
Pida al usuario final que proporcione la clave pública escribiendo el siguiente comando:
cat ~/.ssh/id_rsa.pub
Mostrará una cadena aleatoria larga que comienza con ssh-rsa:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ3GIJzTX7J6zsCrywcjAM/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWm49NWvoo0hdM71sblF956IXY3cRLcTjPlQ84mChKL1X7+D645c7O4Z1N3KtL7l5nVKSG81ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUmt1a00mWci/1qUlaVFft085yvVq7KZbF2OP2NQACUkwfwh+iSTP [email protected]
Puede obtener este texto por correo electrónico o herramientas de mensajería. Normalmente, no debería ser un problema.
Paso 2:Cree el directorio ssh en el directorio de inicio del usuario (como administrador del sistema) )
Tenga en cuenta que debe crear estos nuevos directorios y archivos en el directorio de inicio del usuario final, no en el suyo propio (root/sysadmin).
mkdir -p /home/user_name/.ssh && touch /home/user_name/.ssh/authorized_keys
Ahora abra este archivo /home/user_name/.ssh/authorized_keys con un editor de texto como Vim y agregue la clave pública del usuario aquí:
vim /home/user_name/.ssh/authorized_keys
Guarde y cierre el archivo. Está casi listo.
Paso 3:Establezca el permiso apropiado para el archivo
Tener el permiso de archivo adecuado en el archivo ssh es muy importante; de lo contrario, verá errores como Permiso denegado (clave pública).
Primero, asegúrese de establecer los permisos de archivo correctos:
chmod 700 /home/user_name/.ssh && chmod 600 /home/user_name/.ssh/authorized_keys
Usted creó esos archivos con la raíz o con sus propias cuentas de administrador para algún otro usuario. Debe cambiar la propiedad al usuario:
chown -R username:username /home/username/.ssh
Ahora que está hecho, puede pedirle al usuario final que inicie sesión en el servidor.
Avíseme si tiene algún problema o si tiene alguna sugerencia sobre este tema.