Encriptacion con OpenSSH – Como generar y configurar una llave publica en Linux

Configurando una llave publica

Antes que nada, e independientemente si nuestro Linux es un Debian, Red Hat, SuSe, etc, nos debemos de asegurar que OpenSSH es la aplicacion SSH instalada en el sistema cliente. La generacion de la llave varia bajo diferentes implementacion de SSH. El comando ssh -V debe de desplegar una linea conteniendo OpenSSH, seguido de otros detalles

correo:~# ssh -V
OpenSSH_4.3p2 Debian-9, OpenSSL 0.9.8c 05 Sep 2006

Generacion de la Llave

El RSA key pair debe de ser generado en el sistema cliente. La parte publica de esta llave sera almacenada en los servidores a los cuales nos conectemos, mientras que la parte privada de la llave debe de guardarse en un area segura del sistema cliente, por default en ~/.ssh/id_rsa.

La generacion del par de llave se puede hacer con la utilidad ssh-keygen(1).

fher98@deathbian:~$ mkdir ~/.ssh
fher98@deathbian:~$ chmod 700 ~/.ssh
fher98@deathbian:~$ ssh-keygen -q -f ~/.ssh/id_rsa -t rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

No utilice como passphrase su contraseña de usuario, ni la deje en blanco. La contraseña deberia de ser al menos de 16 caracteres de longitud, y no una oracion simple. Una buena opcion es un parrafo de alguna cancion o poema, utilizando todos los simbolos gramaticales posibles. Durante la configuracion del ssh-agent reduciremos los ingresos requeridos de la contraseña, asi que les recomendamos usar un passphrase largo.

Los permisos del archivo deberan asegurarse para que otros usuarios no puedan leer los datos del key pair. Es posible que el OpenSSH no permita utilizar la autenticacion de llave publica si los permisos del archivo no estan seguros. Estos cambios deben de ser hechos en todos los sistemas involucrados.

fher98@deathbian:~$ chmod go-w ~/
fher98@deathbian:~$ chmod 700 ~/.ssh
fher98@deathbian:~$ chmod go-rwx ~/.ssh/*

Distribucion de la llave

La parte publica del RSA key pair debe de copiarse a todos los servidores que seran accesados por el cliente. La informacion de la llave publica a ser copiada la puede encontrar en el archivo ~/.ssh/id_rsa.pub del cliente. Asumiendo que todos los servidores utilizan OpenSSH en lugar de otra implementacion diferente de SSH, la llave publica debe ser agregada en el archivo ~/.ssh/authorized_keys dentro de cada servidor.

Copiar la llave publica desde el cliente al servidor

fher98@deathbian:~$  scp ~/.ssh/id_rsa.pub servidor.guatewireless.org:

id_rsa.pub                                                                                                      100%  395     0.4KB/s   00:00

Ahora se configura la llave publica en el servidor

server$ mkdir ~/.ssh
server$ chmod 700 ~/.ssh
server$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
server$ chmod 600 ~/.ssh/authorized_keys
server$ rm ~/id_rsa.pub

Recordemos que es necesario agregar los nuevos datos de llaves publicas en el archivo authorized_keys, asi es posible utilizar multiples llaves publicas en el mismo servidor. Cada registro de llave publica debe estar en una linea diferente del archivo.

Para verificar que las conexiones de llaves publicas hacia el servidor funcionan correctamente realizamos la siguiente prueba;
Desde el cliente

fher98@deathbian:~$ ssh -o PreferredAuthentications=publickey  servidor.guatewireless.org
Enter passphrase for key '/�/.ssh/id_rsa': �
�
server$

En un proximo articulo les mostrare como configurar el proceso ssh-agent.

Terminos de busqueda

  • llave publica linux
  • generar llave publica
  • encriptacion ssh
  • no puedo instalar por la clave publica no permite ubuntu 10 10
  • llaves publicas linux
  • GENERAR OPENSSH KEY RSA
  • generar ssh key
  • generar id_rsa pub
  • crear clave pública ubuntu
  • generar clave rsa linux
  • 3 Comments

    1. Ricardo 07/01/2008
      • fher98 07/01/2008
    2. Nicolas 28/02/2011

    Comentario, Preguntas o agradecimientos?

    %d bloggers like this: