Categorías
Sin categoría

Acceso con pares de clave pública-privada

Para conceder acceso remoto a un servidor virtual (VPS) o dedicado Linux, en lugar de utilizar nombre de usuario y clave, es mucho más seguro utilizar un juego de claves pública y privada que acompañando al nombre de usuario nos facilitarán el acceso cómodamente. Eso evita el riesgo de que cuando comunicamos la clave, un tercero pueda acceder a esa información y violar el sistema.

Suponiendo que tenemos habilitado acceso SSH, que viene por defecto, es el mismo usado para SFTP -por ejemplo- y que reemplaza al acceso mediante terminales telnet, hay que crear o editar el archivo authorized_keys que se encuentra bajo del directorio .ssh del directorio home del usuario al que le vamos a permitir acceso. El archivo a editar estará en:

~/.ssh/authorized_keys

Entramos en el sistema remoto como el mismo usuario al que vamos a autorizar, todavía usando nombre de usuario y clave para realizar las operaciones. De no existir el archivo habrá que crearlo, lo más simple es directamente abrirlo con un editor, por ejemplo:

nano ~/.ssh/authorized_keys

Si tampoco existe el directorio, lo creamos con un:

mkdir ~/.ssh

Para salir del editor, pulsamos Ctrl-X y S (o Y si pregunta en inglés) y pulsamos Enter para confirmar el nombre de archivo a grabar.

Dentro del archivo insertamos en una sola línea la clave pública de quien va a tener el acceso. En nuestro caso particular, por ejemplo, es:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0+zP7//1pNKMAduYoUCZi+KIz1HAFpoxHuo+WwpIL6mQMgiS/iYuGzV7/fEdkqzwZth0GBQm163g5EQQ6DeJKxuFA3e7DqRBF/gvI/v0KkPJEquoDg7IW3o7LbbhR+qspHePnWLSFNxUokAYxU9nYfAfBn6kReBnmemmUFmK0Fh46td1iu9WH+iHIvw6RDS8RKZTJzSeIgmExiWS+UpyTDnNyzizbvzqA6ppSmssBAhu4rbDmjmluK8XN2YJTiBKDKIjjN9cfqHqlVUasuTxOu9qVBR+EIJFdaaqpuIITYSoxT50lNAXt1EY8I4O1IOGbmd3ofYEw9huK9disnc+EQ== tecnicoweb

Los permisos que requiere el archivo y el directorio son importantes, nadie más que el usuario en cuestión tiene que tener acceso a crear nuevos archivos ni a modificar el archivo. De estar configurados de forma insegura, el servidor SSH se negará a proporcionar el acceso. Los permisos más habituales que cumplen esos requisitos, si no están ya de este modo, los podemos aplicar fácilmente con:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Todas estas operaciones se podrían realizar también mediante FTP si tenemos configurado que se muestran los directorios ocultos -los que tienen un nombre empieza con un punto- como el el caso de .ssh.

Como ventaja adicional, mencionar que la comunicación SSH está cifrada de extremo a extremo, esto es, entre servidor y cliente. Este protocolo nos permite remplazar al inseguro FTP y sobre él podemos utilizar también comandos como rsync (sincronización remota) o scp (copia de archivos segura).

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos
ResponsableCarlos González-Román Ferrer +info...
FinalidadGestionar y moderar tus comentarios. +info...
LegitimaciónConsentimiento del interesado. +info...
DestinatariosAutomattic Inc., EEUU para filtrar el spam. +info...
DerechosAcceder, rectificar y suprimir los datos, así como otros derechos. +info...
Información adicionalPuedes consultar la información adicional y detallada sobre protección de datos en nuestra página de política de privacidad.