miércoles, 18 de junio de 2008

HOW-TO SSH

SSH:(Secure SHell) es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder a máquinas remotas a través de una red. Permite manejar por completo la computadora mediante un intérprete de comandos, y también puede redirigir el tráfico de X para poder ejecutar programas gráficos si tenemos un servidor x arrancado.

Además de la conexión a otras máquinas, SSH nos permite copiar datos de forma segura (tanto ficheros sueltos como simular sesiones FTP cifradas), gestionar claves RSA para no escribir claves al conectar a las máquinas y pasar los datos de cualquier otra aplicación por un canal seguro tunelizado mediante SSH.

(SSh trabaja por el puerto 22 tcp) y una de las herramientas que utiliza ssh para entrar en otros equipos es la aplicacion libre Putty. pulse el aqui para descargarlo. esta es una muestra del putty:

En la parte que dice host name podemos color el nombre del equipo o la direccion ip, al darle clic en open ingresaremos y nos pedira login y password.

Configuracion de ssh en Linux:

1.
Instalaremos ssh:

-apt-get install ssh

2.Luego de instalar nos vamos para el archivo de configuracion de ssh que es sshd_config.

- pico /etc/ssh/sshd_config

esta es una image de una parte del archivo de configuracion:


3.estando dentro del archivo especificaremos en la linea:
-port 22

este es el puerto que viene por defecto y por el trabaja ssh pero si deseamos que trabaje por otro puerto lo podemos cambiar por otro puerto que este por encima de 1024.

4.Luego en la linea permitRootLogin que es para permitir el acceso directo al usuario root es recomendable que esta opcion este en no esto es por seguridad y mas sise va a permitir el acceso de redes publicas la linea va asi:

-PermitRootLogin no

5.La linea x11Forwarding nos da la opcion de permitir o denegar la ejecucion remota de una interface grafica.

-x11Forwarding yes

6.Para que nuestro servidor pida una llave al ingresar el ususario debemos descomentar la linea:

-AuthorizedKeysFile /root/.ssh/authorized_keys

esa ruta es donde van a ir almacenadas las llaves publicas de los usuarios .

7.Luego debemos descomentar la linea PasswordAuthentication y cambiar de yes a no esto se hace para que no pida clave sino la llave del usuario

-PasswordAuthentication yes

8.
Despues debemos copiar la llave del usuario que va a ingresar al servidor ssh en la ruta que le dimos en la linea AuthorizedKeysFile (la ruta es /root/.ssh/authorized_keys)

-cp /root/.ssh/id_dsa.pub /root/.ssh/authorized_keys

id_dsa.pub es la llave publica del usuario.


9.por ultimo reiniciaremos el servicio
-/etc/init.d/ssh restart


configuracion del cliente ssh


1.
instalaremos el cliente ssh

-apt-get install ssh-client

2.
Luego crearemos un par de llaves dsa del usuario

-ssh-keygen -t dsa




la llave privada se llama id_rsa y la publica id_rsa.pub


3.debemos copiar la llave publica al archivo donde se alojan las llaves que es /root/.ssh/authorized_keys

--cp /root/.ssh/id_dsa.pub /root/.ssh/authorized_keys

4.
ya podemos provar si la configuracion esta buena accediendo al servidor ssh
-ssh 10.3.8.154 (es la ip del servidor ssh)



en esta imagen nos muestra que ya ingresamos al servidor.


Analisis del trafico ssh

Acontinuacion veremos como es la conexion ssh cliente servidor


El cliente hace una peticion ssh con un SYN al servidor
El servidor le responde con un SYN,ACK
Vuelve a responder el cliente con un ACK
El servidor responde arrojando datos del protocolo y del equipo.
El cliente hace lo mismo, arroja informacion de su equipo y demas.
Luego el cliente inicia el intercambio de llaves del servidor.
El servidor responde con un ACK, y inicia en intercamo de llaves del servidor.
Luego establecen un algoritmo de encriptacion, crean unas nuevas llaves para crear el tunel ssh y luego inician una comunicacion encriptada.




Para finalizar la conexion ssh el cliente le manda una peticion de FIN, ACK al servidor el servidor le responde con otro FIN, ACK y el cliente le confirma con un ACK.


El analasis del trafico ssh fue hecho con el compañero julian http://julian-tareas.blogspot.com

No hay comentarios: