SSH (Secure SHell) es una forma segura con la que vamos a poder conectarnos a nuestro servidor de manera remota. Podremos conectarnos a el por nuestra red siendo de manera local o desde Internet. De momento nos conformaremos con poder entrar desde otro PC que tengamos en nuestra red ya que todavía no os he explicado como vamos a localizar nuestro servidor desde Internet, todo se andará.
Arrancamos nuestro servidor, nos logeamos como root e instalamos el programa:
#apt-get install ssh
Reiniciamos el servidor:
#reboot
Una vez tengamos reiniciada la maquina vamos a conectarnos a ella desde otro ordenador de nuestra red. Para los que tenemos Linux nos va a ser fácil conectarnos ya que no tenemos que instalar ningún programa ( los Terminales vienen de serie en Linux ) así que abrimos una terminal y ejecutamos …
#ssh root@192.168.0.XXX
Donde root es el usuario y 192.168.0.XXX es la dirección ip fija del servidor. Obtendremos algo así:
estacionuno:~# ssh root@192.168.0.XXX
The authenticity of host ‘192.168.0.XXX (192.168.0.XXX)’ can’t be established.
RSA key fingerprint is ab:86:d1:0b:d6:5d:01:68:1c:d5:ac:11:89:68:13:52.
Are you sure you want to continue connecting (yes/no)?
El sistema Secure SHell genera una llave de autentificación y si nos equivocamos el sistema nos beta para no dejarnos pasar mas. Esta es una de las medidas de seguridad que nos ofrece este programa.
Le indicamos yes …
estacionuno:~# ssh root@192.168.0.XXX
The authenticity of host ‘192.168.0.XXX (192.168.0.XXX)’ can’t be established.
RSA key fingerprint is ab:86:d1:0b:d6:5d:01:68:1c:d5:ac:11:89:68:13:52.
Are you sure you want to continue connecting (yes/no)?
Warning: Permanently added ‘192.168.0.XXX’ (RSA) to the list of known hosts.
root@192.168.0.XXX’s password:
Linux estacioncentral 2.6.26-2-686 #1 SMP Thu Mar 26 01:08:11 UTC 2009 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Apr 26 12:11:06 2009
estacioncentral:~#
Como podéis ver ya estamos dentro de nuestro servidor desde un terminal en nuestro ordenador que usamos habitualmente. Con esto hemos conseguido poder abrirnos una puerta para poder entrar en nuestro servidor bajo modo local y mas adelante veremos como conectarnos a él desde Internet.
Para conectarnos como usuario: ssh usuario@ipdelservidor
UN POCO DE SEGURIDAD CON SSH
Un equipo conectado a internet siempre está expuesto a correr el riesgo de recibir ataques pero podemos disminuirlos de forma descomunal con una buena configuración. Esto implica modificar la mayoría de parámetros por defecto del fichero de configuración con la finalidad de reducir al máximo la posibilidad de que alguien vulnere o consiga el acceso a nuestro sistema sin consentimiento. En caso de no realizar estas modificaciones le estaríamos dando al atacante una gran parte del acertijo que debe resolver para acceder a nuesto equipo.
Lo primero que debemos hacer para poder realizar los cambios es conectarnos al servidor mediante ssh. Podríamos hacerlo de dos formas:
- Usando la ip privada estática de nuestra red:
- Utilizando el usuario root:
ssh root@192.168.0.xxx -p 22 - Utilizando el usuario que definimos durante la instalación:
ssh user@192.168.0.xxx -p 22
- Usando nuestra ip pública (normalmente dinámica):
- Utilizando el usuario root :
ssh root@xxx.xxx.xxx.xxx -p 22 - Utilizando el usuario que definimos durante la instalación:
ssh user@xxx.xxx.xxx.xxx -p 22
El acceso a ssh con el usuario root desde el puerto 22 viene por defecto y por lo tanto es algo que debemos modificar de tal forma que siempre accederemos al servidor con el usuario que creamos durante la instalación del sistema operativo y, una vez dentro, ya accederemos como root para poder realizar cambios.
Una vez dentro, en caso de haver accedido con el usuario que no es root, ejecutamos el siguiente comando para obtener los permisos de éste último:
su
Ahora, abrimos el fichero de configuración de ssh con un editor de texto (yo uso el nano):
nano /etc/ssh/sshd_config
Modificamos el puerto desde el cual accedemos al servidor. Para ello, buscamos la siguiente linea
Port 22
y modificamos el numero del puerto (si queremos, lo podemos modificar por otro):
Port 754
Importante!! Para acceder desde internet, debemos abrir este puerto en el router (el protocolo TCP) para nuestra ip privada (192.168.x.xxx) del servidor. -Ver más adelante-
Buscamos la linea siguiente:
PermitRootLogin yes
La substituimos por lo siguiente para evitar el acceso con el usuario root
PermitRootLogin no
Añadimos lo siguiente al final del fichero:
MaxAuthTries 3MaxStartups 3
MaxAuthTries 3 hace que se cierre la conexión tras 3 intentos fallidos ingresando la contraseña. Tras estos 3 intentos, se puede volver a intentar conectando de nuevo.
MaxStartups 1 limita a 1 el número de pantallas de login simultáneas por ip que podemos tener abiertas para acceder con un usuario. Esto no impide que no podamos tener varias sesiones simultáneas abiertas.
Guardamos los cambios pulsando “ctrl + x” y “S” a contnuación.
Ahora debemos reiniciar el servidor ssh para que los cambios surjan efecto:
/etc/init.d/ssh restart
Ahora, sin cerrar la sesión de ssh, abrimos una nueva consola y volvemos a acceder al servidor con los mismos datos que antes.
ssh root@192.168.0.xxx -p 22
¿Qué observamos?
Observamos que no se nos permite conectarnos ya que no tenemos acceso desde el puerto 22.
Veamos si nos lo permite en el puerto que hemos definido:
ssh root@192.168.0.xxx -p 754
Observamos que ahora si que conecta y nos pide la contraseña. La insertamos y observaremos que nos apracere el mensaje “Permission denied, please try again.”. Esto es porque el usuario root no tiene permisos para acceder.
Ahora solo nos falta por ver que podemos acceder con el usuario que hemos definido antes:
ssh user@192.168.0.xxx -p 754
Observamos que si hemos podido entrar.
¿Por qué hacemos todas estas verificaciones?
Al no cerrar la primera sesión ssh, verificamos que no tengamos ningún problema para acceder al servidor tras hacer los cambios. Nos podríamos encontrar por ejemplo, en el caso de que el servidor estuviera en una red desconocida, que entre nuestro servidor e internet hay un firewall que no nos permite el acceso al servidor por el puerto que definimos o bien que el puerto que hemos puesto no se encuentre abierto.
Es entonces cuando debemos volver a dejar la conexión en el puerto 22, reiniciar ssh y ver si funciona correctamente mediante una nueva consola.
Una vez comprobado que los camios han surgido con éxito, para tener permisos root o para poder realizar cambios sobre el servidor, simplemente tenemos que escribir lo siguiente en consola:
Su
Ahora se nos pide la contraseña de root. La introducimos y ya tendremos permiso para realizar cualquier cambio en el servidor.










0 Respuesta a “Montaje de un Servidor Ciego con Debian Lenny (3.-Acceso Remoto con SSH)”