Cuando nos conectamos mediante ssh nos pide la contraseña del usuario para realizar con éxito la conexión, esto si bien es cierto es un grado de seguridad, puede resultarnos útil que a nuestra máquina no le pida la contraseña, esto se logra creando una relación de confianza, lo que hace es que nuestra máquina sea reconocida por la máquina remota como equipo de confianza y sólo a la máquina la deje ingresar sin contraseña, las demás les pedirá dicha contra.
El tutorial lo dividiré en 3 partes, la primera parte contendrá sólo las sintaxis, la segunda parte tendrá un ejemplo de conexión y la tercera parte será un bash script que podemos ejecutar para automatizar esto.
Primera parte - Sintaxis
PASO 1: Con nuestro usuario (no con root) debemos generar la key:
$ ssh-keygen
Aquí nos saldrá una serie de preguntas, simplemente apretamos enter y dejamos todo en blanco.
PASO 2: Copiar nuestra key pública al host remoto
$ ssh-copy-id -i ~/.ssh/<> <usuario>@<host remoto>
Luego de esto nos pedirá ingresar la contraseña del usuario remoto, la ingresamos y nos deberá aparecer un mensaje diciendo: “now try logging into the machine, with "ssh '<usuario>@<host>'" lo que significa que ya podemos loguearnos sin necesidad de la contraseña
PASO 3: Conectarse a la máquina remota por SSH
$ ssh <usuario>@<host>
Segunda parte - Ejemplo
Ejemplo 1
PASO 1: Con nuestro usuario (no con root) debemos generar la key:
$ ssh-keygen
PASO 2: Copiar nuestra key pública al host remoto
ssh-copy-id -i ~/.ssh/id_dsa.pub root@192.168.1.105
PASO 3: Conectarse a la máquina remota por SSH
ssh root@192.168.1.105
Ejemplo 2
PASO 1: Con nuestro usuario (no con root) debemos generar la key:
$ ssh-keygen -t id_dsa.pub -b 1024
PASO 2: Copiar nuestra key pública al host remoto
ssh-copy-id -i ~/.ssh/id_dsa.pub root@192.168.1.105
PASO 3: Conectarse a la máquina remota por SSH
ssh root@192.168.1.105
Como podemos darnos cuenta, en tan solo 3 pasos podemos generar una llave de confianza, tenemos que tener en cuenta que tipo de key hemos creado, ya que podemos crear una key dsa o una rsa, también podemos agregar opción como el -t para elegir el tipo (rsa o dsa) -b para ver la cantidad de bits, etc. Todo esto lo podemos ver en el manual haciendo
$ man ssh
$ man ssh-keygen
$ man ssh-copy-id
Tercera parte - Bash Script
Como amante de la línea de comandos y de Bash, debemos generar un Bash Script para generar una llave de confianza automatizada, aquí dejo el script.
#!/bin/bash
#
# author: Nicolás Ormeño
# email: ni.ormeno at gmail dot cl
# license: GPL V3
# date: 2012-09-25
# description: Script para generar llaves de confianzas SSH BASICAS!
#
read -p "Crear llave? (s/n) " key
if [ $key == s ]; then
read -p "rsa o dsa? " type
ssh-keygen -t $type
fi
read -p "ip del host: " host
ssh-copy-id -i ~/.ssh/id_dsa.pub root@$host
0 comentarios:
Publicar un comentario