Poder acceder a nuestros servidores utilizando el par de claves pública/privada no es solo útil pra no tener que estar introduciendo la contraseña cada vez que accedemos, sino por que a lo mejor necesitamos ejecutar un script de shell que tiene que mover datos o ficheros entre servidores. Vamos a ver como hacerlo.

Crear las claves pública y privada

Lo hacemos desde el directorio $HOME del usuario del servidor

# ssh-keygen  -b  4096  -t  rsa

Se genera entonces las dos claves con el sistema RSA en el directorio oculto .ssh : $HOME/.ssh/id_rsa , $HOME/.ssh/id_rsa.pub

Copiamos la clave pública al servidor o host

Y esa clave la almacenamos en el fichero ‘authorized_keys, dentro de .ssh (los permisos tienen que ser 600 , es decir #chmod 600 .ssh/authorized_keys) Comprobar «muy importante», que el direcorio oculto .ssh del directorio $HOME del usuario tenga los permisos a 700 (# chmod 700 $HOME/usuario/.ssh )

# scp .ssh/id_rsa.pub  ip_servidor:.ssh/clave_new
# ssh ip_servidor
# cd .ssh/
# cat clave_new >> authorized_keys
# rm clave_new

La primera vez que se accede a un servidor se guarda su host_key en el fichero $HOME/.ssh/know_hosts.
Entonces ya podemos utilizar ssh y scp con ese servidor sin tener que proporcionar la clave en cada conexión. Esto lo tenemos que hacer con cada servidor, y sirve a la par también de forma recíproca.

Si queremos hacer lo mismo con un cliente Windows y estamos usando Putty para acceder vía ssh, en la web de Putyy tenemos la aplicación Puttygen , para generar el par de claves pública/privada. Hacemos lo mismo que lo anterior, añadir la clave pública a ‘authorized_keys’ del servidor. Pero copiamos la que viene indicada como : ‘ Public Key for pasting into openSSH authorized_keys file ‘ , no la que hemos guardado con el botón. Ver imagen.

putty_keygen

Un comentario en «Acceder por SSH y SCP a servidores con clave pública y privada»
  1. Otra opción :

    Genera clave si contraseña
    #ssh-keygen -t dsa

    se han generado dos archivos :
    ssh/id_dsa.pub  (clave pública) .ssh/id_dsa      (clave privada)

    Ahora se copia su clave pública al servidor:
    # sshcopyid i .ssh/id_dsa.pub usuario@servid

    Su clave pública se copia en .ssh/authorized_keys de /home/usuario en el servidor.

    Ahora se puede hacer login sin introducir password

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies