CLICK HERE FOR BLOGGER TEMPLATES AND MYSPACE LAYOUTS »

viernes, 3 de abril de 2009

OpenSSH

Esta es una pequeña introduccion de la instalacion y configuracion del OpenSSH
en Debian lenny.
Empezamos con la instalacion de los dos paquetes necesarios para nuestra configuracion.
Como esta es una version de Debian muy nueva les voy a colocar una linea de repositorio que me ha funcionado muy bien deb http://ftp.de.debian.org/debian lenny main.



En la imagen anterior se muestra la linea que utilizamos para instalar nuestro servidor SSH; seguida de la imagen con la cual montamos el cliente SSH.



Como ya hemos instalado los paquetes vamos a crear una llave la cual vamos a enviar al servidor ssh; para conectarnos sin que solicite password de root, si no de nuestra llave.Cabe recordar que nosotros somos clientes y servidores. En algun momento alguien nos enviara su llave para poderse conectar de la misma forma con nosotros.



En el momento de la creacion de la llave el sistema te va a preguntar por una frase o password; Coloca una que te sea facil de recordar.



Ya creada la llave vamos a crear el archivo en donde vamos a introducir las llaves de los usuarios de nuestro servidor, esta ruta esta ubicada en el archivo #> etc/ssh/sshd_config en el viene en la configuracion del SSH, cuando vean el archivo, encontraran una ruta que es la que especifica donde tiene que leer para encontrar la llave de las autorizaciones #> root/.ssh/authorize_keys, este archivo no existe entonces lo creamos como se ve en la imagen de abajo.



Ahora nos vamos a configurar nuestro servidor.



Ahora dejo una pequeña muestra de como se configura el ssh, con una breve explicacion de algunas lineas.
Siginificado de algunas lineas del ssh/sshd_config
RECUERDEN ESTA ES UNA CONFIGURACION PERSONALIZADA. PARA TU NECESIDADES PUEDES TENER OTRA, ESTA ES UNA BASE DE LO QUE SIGNIFICAN ALGUNAS LINEAS.
# Definimos el puerto por el que escuchamos las peticiones de conexión del los clientes
Port 22
# Especificamos por qué direcciones locales escucharemos.
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
# Especificamos las versiones del protocolo que aceptaremos
Protocol 2,1
# Archivos que contienen las llaves privadas de host a usar (solo permisos rw- para root)
# HostKeys for protocol version 1
HostKey /etc/ssh/ssh_host_key
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
# Cada cuantos segundos el servidor regenera las claves, para así evitar el que se puedan
# descifrar sesiones caputaradas y luego usarse. Nunca es guardada en disco.
KeyRegenerationInterval 3600
# Espeficia el nº de bits para la clave del servidor del protocolo v1
ServerKeyBits 768
# Tipo de logeo de actividades -> AUTH=>/var/log/auth.log También disponible DAEMON, USER...
# Logging
SyslogFacility AUTH
LogLevel INFO
# Authentication:
# El servidor desconecta al cliente si no se ha logueado correctamente en 600 segs.
LoginGraceTime 600
# Permitimos o no el login del usuario root => poner a no!
PermitRootLogin no
# SSH comprobará que los archivos tienen los permisos correctos, para evitar tener archivos con todos
# los permisos a todos los usuarios
StrictModes yes
# Permitimos la autentificación por RSA (solo para v1)
RSAAuthentication yes
# Permitimos la autentificación por clave pública (solo para v2)
PubkeyAuthentication yes
# Contiene el archivo que contiene las claves para la autentificación
#AuthorizedKeysFile %h/.ssh/authorized_keys
# NO usaremos el método de autentificación por rhost (.rhost)
# rhosts authentication should not be used
RhostsAuthentication no
# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# No usamos el protocolo de autentificación por host
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes
# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no
# Uncomment to disable s/key passwords
#ChallengeResponseAuthentication no
# HAbilitamos la autentificación "normal" si todo falla
# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication yes
# Use PAM authentication via keyboard-interactive so PAM modules can
# properly interface with the user
PAMAuthenticationViaKbdInt yes
# Opciones para servidor Kerberos
# To change Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#AFSTokenPassing no
#KerberosTicketCleanup no
# Kerberos TGT Passing does only work with the AFS kaserver
#KerberosTgtPassing yes
# En un principio, no permitimos exportar las X
X11Forwarding no
# Espeficicamos el primer nº de pantalla disponible para exportar
X11DisplayOffset 10
# Si queremos que al hacer login, al usuario le salga /etc/motd
PrintMotd no
# Por defecto, enseñaremos los datos del último login
#PrintLastLog no
# Para que el servidor pueda "enterarse" de que el cliente ha caido por ej
KeepAlive yes
#
#UseLogin no
#MaxStartups 10:30:60
# Si queremos enviar un banner cuando un cliente se conecte
#Banner /etc/issue.net
#ReverseMappingCheck yes
# Servidor ftp por ssh
Subsystem sftp /usr/lib/sftp-server
Luego de haber organizado nuestra configuracion, procedemos a enviar nuestra llave que se encuentra en la ruta #> root/.ssh/id_rsa.pub, en la imagen a continuacion se mustra el archivo en el Deskto, por que yo lo habia copiado en esa ruta.
Ahora voy a enviar mi llave a otro servidor.



De igual forma con el mismo comando sea desde un equipo linux o windows nos pueden enviar la llave.

GPG

GPG o GNU privace guard es una herramienta para cifrado y firmas digitales, cuenta con un versátil sistema de gestión de claves, así como módulos de acceso para todo tipo de clave pública directorios. GnuPG, también conocido como GPG, es una herramienta de línea de comandos con las características para una fácil integración con otras aplicaciones.

INSTALACION DE GPG4win


lo primero que debemos hacer es instalar nuestro software de gpg4win el cual es un software de encritiptacion de correo electronico.



lo primero que nos aparece es la imagen de bienvenida a este programa le damos next o siguiente para continuar.



luego leemos los terminos de contracto y licencia y le daremos next o siguiente para aceptarlos.



luego nos paracen una serie de componentes dependiendo de los que necesites los señalas o no en este caso solo me faltaba por señalar gnupg que es el componente de llave para el software los demas los deje por defecto.



luego escojeremos la ruta especifica para el software y le damos next o siguiente para continuar.



en esta aplicacion nos da una opcion de crear un acceso directo para su ejecuccion rapida en el escritorio la señalamos y le damos next o siguiente.



luego nos pide un nombre para la carpeta y el lugar donde la queremos guardar luego le damos next o siguiente.



luego esperamos a que se extraigan todos los paquetes necesarios. cuando este termine le damos next o siguiente.



cuando este termine de extraer todo los paquetes nos aparecera un cuadro de dialogo donde nos dice que si queremos leer un documento en este caso lo señalamos y acontinuacion le damos next o siguiente.



luego lo primero que tenemos que hacer es crear nuestras llaves en este caso por consola lo aremos con le comando gpg --gen-key y enter.



luego escojeremos que clase de llave vamos a crear en este caso le damos 1 que es DSA.



luego podremos decirle que la llave caduque o expire en este caso le decimos 0 para que no expire.



luego nos dice que confirmemos si la opcion elijida e sla correcta le decimos yes para aceptar.



luego nos pide que le asignemos un nombre a nuestra llave en este caso fue daniel.



luego nos pide una direccion de correo valida en este caso fue jhonnyr89@gmail.com.



luego nos pide un comentario para distinguir nuestra llave.



luego nos pide un password o contraseña para nuestra llave.



luego nos pide que le repitamos la entrada del password o contraseña.



luego esperamos a que se cargue todos los datos que acabamos de ingresar.



luego nos muestra la informacion ingresada como es el nombre el id y el correo que ingresamos.



y por ultimo nos aparece nuestra llave ya creada.



luego subimos nuestra llave al servidor rediris con el comando gpg --send-keys --keyserver pgp.rediris.com