Fourth year in computer engineering

10.30.116.54 - 255.255.255-0 - 10.30.116.1 - 10.30.110.24 - 10.30.110.9

 

Autenticación mediante claves

Se utiliza para que las conexiones se establezcan sin necesidad de utilizar el esquema clásico de usuario y contraseña.

 

Estos son los pasos a seguir para poder utilizar esta autenticación.

 

1. Generar la clave en el cliente.

 

 

[usuario1@localhost usuario1]$ ssh-keygen -t dsa

Generating public/private dsa key pair.

Enter file in which to save the key (/home/usuario1/.ssh/id_dsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /home/usuario1/.ssh/id_dsa.

Your public key has been saved in /home/usuario1/.ssh/id_dsa.pub.

The key fingerprint is:

1c:bb:8c:da:c5:a4:db:9f:bb:4d:64:86:a8:29:85:05 usuario1@localhost.localdomain

[usuario1@localhost usuario1]$

 

En nuestro caso hemos decidido dejarla vacía para así poder utilizar este método de autenticación en procesos no interactivos.

La passphrase se puede cambiar con el comando ssh-keygen -p.

 

El tipo de la clave se especifica mediante el parámetro -t, y puede ser:

 

* rsa, dsa para ssh v2

 

En el ejemplo se ha utilizado el tipo dsa, y se ha guardado en los archivos por defecto. Estos son $HOME/.ssh/id_dsa para la clave privada y $HOME/.ssh/id_dsa.pub para la clave pública.

 

La clave privada es la que nos identifica, por lo que debe ser accesible únicamente por el usuario propietario.

 

2. Compartir la clave pública

  

 

La clave pública debe ser incluida en el fichero $HOME/.ssh/authorized_keys de la otra máquina en la que deseemos utilizar la autenticación por clave pública.

 

[usuario1@localhost usuario1]$ scp $HOME/.ssh/id_dsa.pub elotroservidor.cl:.ssh/authorized_keys

 

Ahora ya podemos utilizar los comandos de ssh sin utilizar el usuario y contraseña, confiando únicamente en las claves publica y privada.

 

[usuario1@localhost usuario1]$ ssh usuario1@elotroservidor.cl

Enter passphrase for key '/home/usuario1/.ssh/id_dsa':

[usuario1@servidor usuario1]$