Inicio > Linux > Instalación de mini servidor web casero capítulo 2: Instalación de SSH

Instalación de mini servidor web casero capítulo 2: Instalación de SSH

Domingo, 20 de Julio de 2008

La instalación de un servidor SSH es muy importante porque nos permitirá controlar nuestro servidor de manera remota desde una consola y bajo cifrado, lo que quiere decir que toda la comunicación que establezcamos con el servidor estará cifrada. Como es de esperarse no habrá un entorno gráfico en la mayoría de los casos pero… para qué necesitamos eso? ;)

Yo escogí OpenSSH a pesar de que hace no mucho se descubrió un fallo muy importante en el paquete de OpenSSL para generar las claves aleartorias en las distribuciones de Debian y derivadas pero ustedes pueden escoger el que gusten.

Comenzamos la instalación ejecutando:

apt-get install openssh

También pueden descargar el Source Code desde la propia página de OpenSSH y hacer la instalación compilando los paquetes, así se evitan las posibles modificaciones que hay en los paquetes de Debian (o de su distribución) ;).

Ahora necesitamos conocer los archivos de SSH básicos:

/etc/ssh/sshd_config: Archivo de configuración del servidor SSH.
/etc/ssh/ssh_config: archivo de configuración del cliente SSH.

Configuración básica de sshd_config:

Port: el puerto de conexión a SSH, por defecto es 22 pero se recomienda cambiarlo por seguridad.

Protocol: indica la versión de protocolo que se utiliza. solo hay 2 protocolos que son 1 y 2, el 2 se utiliza por default debido a razones de seguridad.

X11Forwading: este parámetro permite ejecutar aplicaciones gráficas en el servidor siempre y cuando esté habilitada la opción (yes). Si nuestro servidor no va a cumplir alguna función así lo mejor es colocar NO.

PermitRootLogin: Esta opción permite conectarse al servidor SSH con la cuenta administrador (root). Por seguridad es recomendable deshabilitarla (no) y acceder al servidor mediante usuario normal y luego usar el comando SUDO o SU.

AllowUsers: Con esta opción indicamos los usuarios que queremos permitor para conectarse, podemos agregar varios usuarios y los separamos con barra espaciadora. Por ejemplo, si queremos agregar usuario1 y usuario 2 quedaría AllowUsers usuario1 usuario2.

Podemos restringir el acceso de los usuarios desde una IP indicada o incluso un rango de IP, por ejemplo, si queremos que el usuario signum se conecte al servidor ssh solo desde la IP 192.168.1.1 podemos colocarlo así:

AllowUsers signum@192.168.1.1

Para el rango de IP 192.168 queda así:

AllowUsers signum@192.168.*

LoginGraceTime: es el número de segundos que tiene un usuario remoto para hacer login en el servidor SSH. Se recomienda poner menos de 30 segundos.

MaxAuthTries: es el número de intentos que tiene el usuario remoto para hacer login. Se recomienda solo 3.

MaxStartups: define el número máximo de usuarios que pueden estar conectados simultáneamente al servidor SSH. De acuerdo a la función del servidor se recomienda colocar el mínimo posible.

Una vez que esté listo el archivo solo falta iniciar o reiniciar el servidor SSH:

/etc/init.d/ssh start|restart

Conectandose al servidor:

Es bastante sencillo conectarse al servidor, solo basta con tener un cliente SSH, en linux pueden usar openssh-client y en Windows Putty:

Desde Linux:

Supongamos que queremos conectarnos al servidor 192.168.1.2 con el usuario signum, mediante openssh-client lo hacemos así:

ssh signum@192.168.1.2
Password:

Desde Windows:

Descargamos Putty de la página del autor: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Tomando el ejemplo anterior, queremos conectarnos al servidor 192.168.1.2 con el usuario signum, esta vez mediante putty, simplemente seguimos estos pasos:

Ejecutamos Putty y en el sector de Sesion buscamos Host Name (or IP Address) y colocamos 192.168.1.1 Luego buscamos Port y colocamos el puerto de SSH del servidor, normalmente 22.

Hacemos clic en el botón Open y listo, nos pedirá el usuario y la contraseña ;).

Bastante sencillo no? ;)

Capítulos anteriores:

  • Montando mini-servidor web casero con Linux Capítulo 1: Razones, elementos necesarios y preparación.
  • Enlaces de referencia:

  • http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config
  • (en ingles)

  • http://www.linuxtotal.com.mx/index.php?cont=info_seyre_004
  • http://www.alejandrox.com/2007/03/administracion-remota-con-ssh/
  • http://tldp.org/LDP/solrhe/Securing-Optimizing-Linux-RH-Edition-v1.3/chap15sec122.html (en ingles)
  • Comentarios y sugerencias serán agradecidos.

    Salu2

    Signum Linux

    
    1. LKP
      Martes, 22 de Julio de 2008 a las 21:09 | #1

      Puedo hacer correcciones? nah… seguro que si :P

      El bug de debian al que haces referencia no fue en el paquete openssh, fue en el paquete openssl, aunque claro, el bug termina afectando a openssh ya que usa openssl para generar las claves, pero tú entiendes ;)

      El archivo de configuración para el cliente es ssh_config no shh_config :P typo? xD aunque este archivo no es necesario para el servidor, solo para los clientes que intentan conectarse al servidor mediante aplicaciones que funcionen con ssh, por ejemplo, puedo configurar ssh_config para tener opciones predeterminadas al momento de usar sftp.

      LKP

    2. Martes, 22 de Julio de 2008 a las 23:28 | #2

      Na, tu eres muy culero para hacer correcciones. Naaa, si puedes hacer, gracias ;)

      Si era un error de tipeo jajajaja, me pasó en varios lugares del texto pero de ese no me di cuenta :p.

      Lo del ssh_conf lo sabía aunque lo puse para el que le pegara la curiosidad de como para qué es ese archivo y por qué se crea al instalar openssh.

      Salu2

    3. LKP
      Miércoles, 23 de Julio de 2008 a las 03:38 | #3

      Deberías comprar par de lentes…. tú y tus typos -.-! xD

      LKP

    Condiciones de los comentarios:

  • Los comentarios que posean direcciones IP y/o direcciones de correo electrónicos serán editados para proteger a los usuarios.

  • Aquellos comentarios que posean Spam directo o indirecto serán eliminados o modificados inmediatamente.

  • Al publicar un comentario, los datos como direcciones IP y direcciones de correo electrónico serán guardados en la base de datos para medidas de control solamente y no serán entregados ni difundidos a terceras personas.

  • Los comentarios considerados ofensivos o Flame, serán eliminados inmediatamente.

  • El administrador se reserva el derecho de aprobación y modificación de los comentarios.

  • Si NO aceptas estas condiciones por favor abstente de publicar un comentario.