lunes, 5 de mayo de 2008

OPEN SSH


Es un conjunto de aplicaciones que nos permite realizar comunicaciones seguras a traves de una red utilizando el protocolo SSH, ademas el uso de SSH es fundamental en las comunicaciones actuales, ya que la mayoria de servicios de red se llevan a cabo sin cifrar. como consecuencia cualquier persona puede escuchar los datos que se transfieren o reciben por la red.

OpenSSH es utilizado para acceder a sistemas remotos de forma segura usando sus propios metodos de autenticacion para los usuarios como las llaves RSA y DSA

los dos sistemas de llaves hacen referencia a una llave publica que se distribuye y una llave privada que siempre debe permanecer con su propietarios.

al instalar OpenSSH por primera vez nos genera un par de llaves mencionadas anteriormente que se almacenan en la siguiente ruta: /etc/ssh
ejemplo:
ssh_host_dsa_key llave dsa privada
ssh_host_rsa_key.pub llave rsa publica

Para comenzar instalamos openssh


# apt-get install openssh

CONFIGURACION EN EL EQUIPO CLIENTE
cuando nos vamos a conectar por primera vez a una maquina remota nos muestra el fingerprint de la llave que es una huella unica para identificar al servidor ssh, nos dice que si estamos seguros de querernos conectar a esa maquina, luego ingresamos el password y despues de unos segundos ya estamos logeados en la maquina remota.


--luego de habernos conectado por primera vez procedemos a crear un par de llaves DSA

-- luego de haber creado la llave vamos a la ruta donde se almacenan que es /root/.ssh y la enviamos por ssh al equipo que va a ser el servidor de la siguiente manera
# scp id_dsa.pub sena@10.3.x.x:/tmp

CONFIGURACION EN EL SERVIDOR OPENSSH
En el equipo servidor procedemos de la siguiente manera

en /etc/ssh/ssh_config vamos a activar la autenticacion.
en el archivo anterior vamos a descomentar la siguiente linea y le cambiamos el yes por un no
# PasswordAutentication no

luego creamos un archivo llamado autorized_keys en /root/.ssh y agregamos las llaves que se crearon en los equipos clientes que fueron enviadas a nuestro servidor en la ruta del temporal
entonces nos vamos al temporal.
# cd /tmp
# cat id_dsa.pub > /root/.ssh/autorized_keys
# cat id_ana.pub >> /root/.ssh/autorized_keys

luego nos vamos a /root/.ssh/ y listamos el archivo que se llama autorized_keys que contiene la siguiente llave
# cat autorized_keys

-----BEGIN DSA PRIVATE KEY-----
MIIBugIBAAKBgQCQLMT6Ea/PcYXfWNfrwAmhA+ALLiY2Ev6KreknBagND24AM0gZ
dzsZvRUZNhuoFA+GJKxw+Ro5RSH0kci8B3WKzbfcFU8FjBaJYZ9Di6Yo07t9CiHz
3keTqPXWgh4xf+8NytY3++QnIW66s6TMskVa8DwBvL2TXI17mkV9ObbBKQIVAMbY
ouFOHRJ1O30D3eA2MRWFlky9AoGAKXS8iwI44fSUA9mWZ8407RW6ENpbpuhYJXTq
JV+HbyRw72NcX5hlZ2lEKf/8wq2L1ZvuPF5zFZdhIuRPe4z3g2l5zM8BK2HL81k+
oyAtoNyP25ceRVJkIgoNJWrBu1Sv/1KH5h31ZwtyOSt/NgAE9EWLpT6sFPbP3p7t
FsekqSMCgYAUt0zKpXtQaULdPeYr4ajG0sbSkpXIPWSdLdn1Lrhr+KNFLyKi+5tr
muZPIloaFFkk5/3oNBsW+WYazmHmi3lFyFZFSZMLRRCJzuxn069B9oZb4/PnNhf/
w7lZNS3On4NlEfcmoVb/tBdCwU2+2pINe7WixfviF0jz7FW56CKR4wIUdufmwRZb
cADuvROc5hC6MKl2VrQ=
-----END DSA PRIVATE KEY-----

Luego editamos el archivo /etc/ssh/sshd_config y comentamos las siguientes linea

# AuthorizedKeysFile /root/.ssh/autorized_keys
# PasswordAuthentication no

Ahora el equipo cliente vuelve a conectarse y lo deja ingresar a la maquina sin ningun problema
Imagen

en el archivo /etc/ssh/sshd_config descomentamos la siguiente linea
# PasswordAuthentication no

recargamos el servicio
# /etc/init.d/ssh restart

despues el cliente vuelve a conectarse y le muesta un mensaje que le dice que necesita una llave para poder conectarse


luego en el archivo /etc/ssh/sshd_config descomentamos la siguiente linea
# AuthorizedKeysFile /root/.ssh/autorized_keys

guardamos los cambios y recargamos de nuevo el servicio, luego el equipo cliente vuelve a conectarse y ya puede acceder a la maquina remota sin problema porque ya esta utilizando una llave para poder acceder a la maquina

Algnunos terminos son tomados de la Wikipedia

No hay comentarios: