Instalación de mini servidor web casero capítulo 2: Instalación de SSH
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:
Enlaces de referencia:
(en ingles)
Comentarios y sugerencias serán agradecidos.
Salu2
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
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
Deberías comprar par de lentes…. tú y tus typos -.-! xD
LKP