domingo, 8 de mayo de 2011

Acceso a un servidor ssh en tu LAN

Acceso a un servidor ssh en tu LAN: "

Si trabajáis en red, lo más probable es que, tarde o temprano, utilicéis varias terminales con sistemas GNU/Linux, si es que no lo habéis hecho ya… Éstas pueden ser destinadas a numerosas tareas, aparte de terminal de escritorio. A saber: servidor de datos, backups, proxy cache, firewall, fax, etc. En estos casos, no es necesario tener montado todo lo que acompaña a un PC (teclado, mouse y monitor) ya que podremos acceder, por ejemplo, vía escritorio remoto (si tenéis X en el equipo) o ssh. A continuación, encontraréis las instrucciones para esto último, utilizando Debian como distro servidor.



(*) Apuntes previos: no me ocuparé aquí de describir el protocolo ssh. Tenéis a vuestra disposición una enorme cantidad de información en la Red. En el equipo que hace de servidor ssh, se ha instalado previamente Debian y se ha configurado el acceso a Internet. Los comandos que requieren ser root, aparece la expresión [root] sobre ellos.


Primero, vamos a instalar openssh:


[root]


apt-get install openssh-server


Tras esto, tan sólo tendríamos que abrir el puerto 22 de nuestro router para la IP del servidor para poder acceder a él vía ssh. Sin embargo, es conveniente asegurarlo un poco más.


Con un editor de texto, editaremos el archivo sshd_config. En mi caso, utilizaré mousepad.


[root]


mousepad /etc/ssh/sshd_config


Añadiremos los usuarios a los que deseamos permitir acceso, escribiendo lo siguiente:


AllowUsers nombre_del_usuario1 nombre_del_usuario2


Es conveniente no utilizar el puerto por defecto de ssh, el 22. Veréis una línea , cerca del inicio del texto, donde aparece “Port 22″. Cambiad el 22 por el puerto que prefiráis. En mi caso, el 9999.


También por precaución es conveniente cambiar denegar el acceso de root por defecto. Esto se logra cambiando “PermitRootLogin yes” por “PermitRootLogin no”.


Otras medidas de precaución:


Editar el archivo hosts.deny:


[root]


mousepad /etc/hosts.deny


Añadimos lo siguiente:


sshd: ALL


De este modo, todo aquél que no tenga permitido el acceso en hosts.allow, no podrá entrar. Para habilitar acceso a determinadas IP de nuestra LAN, editaremos ese archivo.


[root]


mousepad etc/hosts.allow


Añadimos la o las IP que deseamos que tengan acceso. Por ejemplo:


sshd: 192.168.0.2


Tras guardar todos los cambios, reiniciaremos el servicio:


[root]


/etc/init.d/ssh restart


El acceso desde terminales con GNU/Linux puede realizarse mediante openssh-client, presente en los repositorios de numerosas distros. Tras instalarlo, tan sólo tenemos que ejecutar lo siguiente:


ssh -p 9999 nombre_del_usuario1@IP_del_servidor_ssh


Si tenéis que acceder desde terminales Windows podéis utilizar Putty, por ejemplo.


Estas medidas de precaución son, más o menos, las que podríamos calificar de “estándar”. Para otras opciones, podéis consultar aquí los consejos de nuestros compañeros de redeszone.

"