8.6. Ajustes tras la instalación de Ubuntu
Es muy frecuente que, tras la instalación de un sistema operativo, debamos realizar ciertas tareas de configuración inicial. Lógicamente, estos ajustes estarán en función del cometido que vaya a tener el ordenador.
En este caso, dado que el equipo hará funciones de servidor, las tareas que vamos a acometer son las siguientes:
- Habilitar el usuario root
- Configurar las actualizaciones del sistema.
- Configurar la red.
- Cambiar el nombre del equipo
- Establecer los ajustes adecuados para la fecha y hora del sistema.
- Realizar las operaciones necesarias para que el sistema se inicie de forma automática en modo texto.
- Aprender a ejecutar la interfaz gráfica una vez que hemos iniciado el sistema en modo texto.
- Administrar el servidor desde una terminal remota.
A continuación, vamos a ir viendo cada una de estas operaciones, una a una.
Habilitar el usuario root
Para volver a la consola gráfica sólo tenemos que usar la combinación de teclas Alt + Ctrl + F7.
La forma más sencilla de comprobar que no es posible acceder al sistema usando la cuenta root es cambiarnos a una consola de texto (pulsamos la combinación de teclas Alt + Ctrl + F1) e intentar identificarnos como root.
Si, a pesar de lo comentado en el apartado anterior,estás decidido a activar la cuenta root para poder iniciar sesión con ella, el truco es muy sencillo: sólo tenemos que asignarle una contraseña.
Por lo tanto, volvemos a abrir una ventana de terminal, siguiendo los pasos que ya conocemos, y ejecutamos la siguiente orden:
sudo passwd root
Como de costumbre, la contraseña se solicita por duplicado para evitar que se produzcan errores tipográficos.
Si ahora volvemos a intentar el inicio de sesión, la situación será totalmente diferente:
Una diferencia sutil, pero fundamental a la hora de distinguir cuándo hemos iniciado sesión con un usuario normal y cuándo lo hemos hecho con el usuario root es fijarnos en el prompt (el texto que aparece delante del cursos cuando el sistema está esperando una orden): Si estamos usando una cuenta de usuario normal, el último carácter del prompt será un signo dólar ($), si estamos usando la cuenta de root, ese carácter será una almohadilla (#). Además, la primera palabra es el nombre del usuario.
No es recomendable el uso de la cuenta root de forma continuada.
Si la has activado, de forma temporal, para realizar tareas de administración, es muy aconsejable volverla a desactivar en cuanto sea posible.
Para conseguirlo, sólo tienes que escribir la siguiente orden en la consola:
sudo passwd -l root
Configurar actualizaciones del sistema
Como ya hemos comentado en otras ocasiones, una medida de seguridad básica consiste en mantener el sistema operativo y las aplicaciones lo más actualizadas posible. De esta forma dispondremos de los últimos parches de seguridad que se hayan incorporado a la distribución.
En este apartado, vamos a estudiar cómo podemos configurar las actualizaciones en la interfaz gráfica y también cómo podemos programar su descarga e instalación automática desde la consola de texto.
Desde la interfaz gráfica
En el caso de Ubuntu, desde la interfaz gráfica podemos administrar las actualizaciones usando un complemento llamado Gestor de actualizaciones. Como el resto de las aplicaciones, la forma más sencilla de ejecutarlo es recurrir al Dash.
1
Abrimos el Dash y comenzamos a escribir el nombre del programa. Cuando aparezca, lo seleccionamos.
En ese momento, se cierra el Dash y se abre la ventana del Gestor de actualizaciones.
Como vemos en la siguiente imagen, la ventana contiene una lista donde se encuentran relacionadas todas las aplicaciones pendientes de instalar. De forma predeterminada, aparecen todas seleccionadas, lo que significa que, si actualizamos ahora, se instalarán todas. Sin embargo, podemos marcar o desmarcar cualquiera de ellas, para instalar sólo las que nos interesen en un momento determinado.
Si lo hacemos, veremos una ventana, con una barra de progreso, que nos informa del avance de la consulta.
Si hacemos clic sobre el botón Instalar actualizaciones, el sistema nos solicita la contraseña de administración.
El sistema nos responde con una ventana informativa que nos indica que los cambios se están aplicando.
Cuando concluya el proceso, volveremos a la ventana principal del Gestor de actualizaciones, pero, si dejamos marcados todos los elementos de la lista, veremos que ahora está vacía.
Cuando terminan de aplicarse las actualizaciones, es posible que el icono para apagar el sistema se haya puesto rojo. Esto significa que el sistema necesita reiniciarse para terminar de aplicar las actualizaciones.
También podemos hacer clic sobre el botón Configuración.. para fijar el comportamiento que debe tener el Gestor de actualizaciones. Las opciones que encontraremos serán estas:
El prefijo precise hace referencia a la distribución que tenemos instalada.
- Actualizaciones importantes de seguridad (precise-security): Resuelven problemas de seguridad que son críticos, por lo que debemos dejarla siempre seleccionada.
- Actualizaciones recomendadas (precise-updates): Corrigen problemas en los programas que no están relacionados con la seguridad. Lo normal es dejar esta opción también marcada.
- Actualizaciones aún no publicadas (precise-proposed): Son actualizaciones que se encuentran en proceso de evaluación. Pueden hacer que el sistema se vuelva inestable, pero instalándolas podemos colaborar en el desarrollo del sistema.También es común activarla si estamos experimentando problemas en nuestro sistema ya que, aunque se trate de actualizaciones que se están evaluando, puede que resuelvan nuestros problemas. No obstante, si este no fuese el caso, lo normal es dejar esta opción sin marcar.
- Actualizaciones no soportadas (precise-backports): Hace referencia a programas aparecidos para versiones más modernas de Ubuntu, que se han adaptado a versiones anteriores para beneficiar a sus usuarios. No se garantiza su funcionamiento perfecto y sólo deberían usarse en caso de necesidad. en nuestro caso, también lo dejaremos sin marcar.
En la parte inferior, disponemos también de opciones para establecer la frecuencia con la que queremos ser notificados:
- Comprobar las actualizaciones automáticamente: Aquí indicamos la frecuencia con la que el sistema deberá buscar nuevas actualizaciones. Podremos elegir entre Diariamente, Cada dos días, Semanalmente, Cada dos semanas o Nunca.
- Cuando hay actualizaciones de seguridad: Aquí indicaremos cómo debe comportarse el sistema cuando encuentre actualizaciones de seguridad. Elegiremos entre: Mostrar inmediatamente, Descargar inmediatamente y Descargar e instalar automáticamente. Como probablemente sepas de otros sistemas operativos, resulta incómodo que el sistema realice actualizaciones de forma totalmente automatizada. Por este motivo, dejaremos seleccionada la primera opción.
- Cuando hay otras actualizaciones: En este apartado indicaremos con qué frecuencia nos informará el sistema de las actualizaciones recomendadas que se encuentran pendientes de instalar. Las opciones que nos ofrece son: Mostrar inmediatamente, Mostrar semanalmente y Mostrar cada dos semanas. Mantendremos la segunda opción, que es la predeterminada.
Por último, al final de la ventana disponemos de una opción para que el sistema nos avise cuando aparezca una nueva versión. Las opciones que tenemos disponibles son: Para cualquier versión nueva, Para versiones de soporte a largo plazo (LTS) o Nunca. También aquí mantendremos la opción predeterminada, que es la segunda.
Usando el modo texto
En modo texto, vamos a realizar un control de actualizaciones bastante menos fino. Sencillamente vamos a programar una tarea para que las actualizaciones pendientes se descarguen y se instalen de forma automática todos los días a una hora en particular (en mi caso lo haré a las 3 AM, porque es una hora a la que el servidor no tendrá una carga de trabajo excesiva).
Para empezar, ejecutaremos el siguiente comando:
sudo crontab -e
Esto hace que crontab abra un editor de textos de modo que podamos definir una tarea. Si es la primera vez que lo hacemos, nos ofrecerá la posibilidad de elegir entre los editores de textos instalados, aunque nos recomienda que utilicemos nano.
Como aún no tenemos ninguna tarea definida, el sistema nos ofrece un archivo vacío… Bueno, con una serie de líneas de comentario que nos sirven a modo de guía. Si tenemos claro cómo funciona crontab, podemos borrarlas.
A continuación, escribimos la tarea programada:
00 3 * * * root apt-get update -y && apt-get dist-upgrade –y
Los caracteres -y al final de cada comando hacen que éstos asuman Yes como respuesta a cualquier pregunta.
Esto hará que todos los días, a las 3:00, se ejecuten con las credenciales de root dos comandos apt-get:
- El primero añadirá al sistema todas las actualizaciones que hayan aparecido en los repositorios desde la última actualización.
- La segunda comprobará si hay disponible una actualización general del sistema a la versión siguiente. Si la hay, la instala.
Aprenderemos muchos más detalles acerca de las tareas programadas en Ubuntu en el próximo capítulo.
Configurar la red
Antes de que el ordenador comience a actuar como servidor, debemos comprobar si la red está configurada de forma satisfactoria.
Hoy en día es muy frecuente que en la red local dispongamos de un router u otro dispositivo que haga las veces de servidor DHCP. En ese caso, probablemente el equipo se habrá configurado de forma predeterminada para obtener automáticamente todos los parámetros de red que necesita. Esta configuración es dinámica, lo que significa que la dirección IP del equipo podrá variar a lo largo del tiempo.
Cuando un ordenador va a asumir el rol de servidor en la red, una de las primeras cosas que debemos hacer es asignarle un nombre y una IP fija, para que sea fácilmente localizable desde los diferentes clientes.
A continuación, vamos a explicar cómo llevar a cabo esta tarea desde la interfaz gráfica y desde la consola de texto. Esta última adquirirá toda su relevancia cuando expliquemos más abajo el modo de acceder al servidor desde una terminal remota.
Configurar la red desde la interfaz gráfica
Para realizar esta tarea, recurriremos a Conexiones de red. Podemos encontrar este complemento a través del Dash (basta con comenzar a escribir su nombre) o, sencillamente, haciendo clic sobre el icono que representa la conexión de red en el panel superior. Si lo hacemos, aparecerá un menú emergente como el que vemos en la figura siguiente:
Se abrirá la ventana Conexiones de red. Aquí, elegiremos Conexión cableada 1 (aunque debes tener en cuenta que, si tu equipo dispone de varias tarjetas de red, aparecerán varias conexiones y deberás elegir la que corresponda).
Se abrirá una ventana titulada Editando conexión cableada 1 (o como se llame la conexión que tú hayas elegido). Aquí, nos aseguraremos de que se encuentra marcada la opción Conectar automáticamente.
Después, haremos clic sobre la solapa Ajustes de IPv4 y, en Método, elegimos Manual.
Observaremos que se habilita el espacio para escribir la dirección IP, la máscara de red y la puerta de enlace. Escribimos los datos apropiados para nuestra red.
También podemos escribir la dirección IP del servidor DNS que vamos a utilizar de forma predeterminada (en este caso, el servidor DNS principal de Google).
No obstante, en mi caso, la red local no trabaja aún con direcciones IPv6, por lo que parece recomendable deshabilitarla y ahorrar así algunos recursos del sistema.
Para resolverlo, hacemos clic sobre la solapa Ajustes de IPv6 y, en la entrada Método, elegimos Ignorar.
Configurar la red desde la consola de texto
Si, en lugar de hacer la tarea anterior desde la interfaz gráfica, preferimos utilizar la terminal, lo primero que debemos tener en cuenta es que, desde la versión 12.04, en Ubuntu se han dejado de incluir los servidores DNS dentro del archivo /etc/resolv.conf y ahora aparecen directamente en /etc/network/interfaces. Por lo tanto, este es el único archivo que deberemos editar.
Para llevar a cabo este trabajo, recurriremos al editor de textos nano:
Al hacerlo, el editor ocupa toda la ventana de la terminal…
Dejamos las dos líneas que aparecen tal y como están (son las que hacen referencia al bucle local) y añadimos debajo la definición para la primera interfaz de red (eth0). Si necesitáramos configurar cualquier otra interfaz, sólo tendríamos que cambiar su identificador (eth1, …)
El nuevo contenido será algo parecido a esto:
auto eth0 iface eth0 inet static address 192.168.1.10 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8
Lógicamente, los datos concretos dependerá de la red donde nos encontremos.
Una vez completado, saldremos del editor usando la combinación de teclas Ctrl + X. El editor de textos preguntará si queremos grabar, y nos pedirá que confirmemos el nombre del archivo.
Después de esto, sólo quedará reiniciar los servicios de red, para lo que podemos utilizar el siguiente comando:
sudo service networking restart
Puede que, al estar usando la interfaz gráfica, el comando anterior no funcione. En ese caso, sólo hay que reiniciar el equipo.
Cambiar el nombre del equipo
En algunos casos, puede que el nombre que le dimos al equipo durante la instalación no se ajuste a la función que va a realizar dentro de la red.
Para cambiarlo, recurriremos a la ventana de terminal, donde editaremos un par de archivos del sistema:
Primero comenzaremos por el archivo /etc/hostname, que es el que guarda, en realidad, el nombre del equipo.
Al abrirse el editor, nos muestra el contenido actual del archivo
Sólo tenemos que cambiar su contenido. En este caso, como pensamos convertir este equipo en un servidor NFS (hablaremos de ello en el próximo capítulo), he decidido utilizar estas siglas como parte del nombre.
3
Cuando acabemos salimos de la edición guardando los cambios. Como de costumbre, utilizaremos la combinación de teclas Ctrl + X.
Como es habitual, el editor nos pregunta si queremos guardar los cambios y nos pide que confirmemos el nombre del archivo.
Al salir comprobamos que el prompt sigue mostrándonos el nombre antiguo. Sin embargo, si utilizamos el comando hostname, que sirve, precisamente, para mostrar el nombre del equipo, vemos que el nombre que devuelve es correcto. Esto ocurre porque la terminal no ha actualizado aún la información en el prompt.
Además del archivo /etc/hostname, en los sistemas operativos más extendidos (Windows, OSX y Linux), se incluye también un archivo llamado hosts. En el caso de Linux se encuentra en /etc/hosts. Este archivo es el primer lugar donde busca el sistema para resolver un nombre de dominio, por lo que también aquí tenemos que cambiar la referencia que contiene a la dirección de loopback (la que se refiere al propio equipo).
Cuando hayamos acabado, volvemos a pulsar la combinación de teclas Ctrl + X para salir, teniendo cuidado de indicar al editor que Sí queremos guardar los cambios en el archivo.
Establecer los ajustes adecuados para la fecha y hora del sistema
El reloj y el calendario del sistema vienen configurados de forma predeterminada para que no sea necesario realizar ningún ajuste importante. Sin embargo, dispone de algunas características que pueden resultar muy útiles en ciertos momentos.
Para configurar la fecha y la hora, recurrimos a la herramienta de Configuración del sistema.
Una vez que abra la ventana de Configuración del sistema, nos desplazamos a su parte inferior…
La ventana cambiará para mostrarnos la fecha y la hora. Si te fijas, su aspecto es muy parecido al del paso en el que configuramos la zona horaria durante la instalación. Sin embargo, aquí tenemos más opciones.
Si lo que queremos es cambiar la zona horaria (por ejemplo, porque hayamos viajado a otro país), basta con hacer clic en la zona del mapa adecuada.
Además, en la parte inferior podemos establecer cómo se va a gestionar la fecha y la hora:
-
Las siglas NTP provienen de Network Time Protocol, unprotocolo de Internet para sincronizar los relojes de los sistemas informáticos.
Manualmente: Eligiendo esta opción, el programa habilita los manejadores que hay en la parte inferior para que podamos poner la fecha y la hora a nuestro antojo.
- Automáticamente desde Internet: Esta es la opción predeterminada y establece que se use un servidor NTP para obtener de forma automática, desde Internet la fecha y la hora correctas. Lo interesante de esta opción es que el sistema se sincroniza a intervalos regulares, lo que nos asegura que el reloj y el calendario siempre tendrán los valores correctos.De forma predeterminada, Ubuntu utiliza el servidor ntp.ubuntu.com para realizar esta tarea.
Si hacemos clic sobre la solapa Reloj, también encontramos varias características interesantes.
La opción Mostrar un reloj en la barra de menús, que aparece marcada de forma predeterminada, nos permite elegir entre incluir, o no, un reloj en el panel superior.
Si dejamos esta característica activada, podemos usar las opciones que hay justo debajo para indicar la información que queremos que incluya el reloj (Día de la semana, Fecha y mes, Formato de 12 o 24 horas y segundos.
Las opciones de la derecha nos permiten manejar también algunos aspectos del calendario.
6
Por ejemplo, si marcamos Incluir números de semana, vemos que el calendario incluye el número de semana a la izquierda.
También podemos marcar la opción Hora en otras ubicaciones que, a su vez, habilita el botón Elegir Ubicaciones. Cuando lo pulsamos, aparece la ventana Ubicaciones, en la que podemos hacer clic sobre el botón que muestra el signo de suma (+) y comenzar a escribir el nombre de una ciudad. Automáticamente aparecerán en la parte inferior las coincidencias. Basta con hacer clic sobre la línea correcta para que dicha ciudad quede seleccionada.
Una vez añadida la ciudad, bastará con hacer clic en el reloj para obtener el calendario y la hora en las ciudades elegidas.
En la mayoría de los casos, esta última característica puede parecer innecesaria. Sin embargo, piensa en lo útil que puede resultar cuando colaboramos con personas o empresas situadas en otros países. En estos casos, conocer su horario local puede resultar realmente interesante.
Iniciar el sistema en modo texto
Como estamos viendo, la interfaz gráfica de Ubuntu es muy útil para realizar tareas de configuración iniciales. Incluso puede que nos interese volver a ella de vez en cuando, para realizar modificaciones. Sin embargo, pasados esos primeros días, probablemente el servidor permanecerá la mayor parte del tiempo con el monitor apagado e incluso recluido en una sala a la que sólo accedemos en contadas ocasiones.
Como ya dijimos al principio del capítulo, a partir de ese momento, la interfaz gráfica representa un gasto superfluo de recursos y una merma en la seguridad del sistema.
Este es el motivo que nos hace plantearnos la conveniencia de deshabilitar la carga predeterminada de la interfaz gráfica de usuario. El objetivo es iniciar en modo texto y, si luego resulta necesario, ejecutar la interfaz gráfica.
La mayoría de las distribuciones Linux usan el concepto de nivel de ejecución (runlevel) para indicar el modo en el que está operando el sistema operativo. En la práctica se emplean los siguientes niveles:
Cuando realizamos un inicio normal, con interface gráfica, estaremos usando el nivel de ejecución 5. Si necesitamos un inicio normal, pero sin interface gráfica, usaremos el nivel de ejecución 3.
Los niveles 1 y 2 se utilizan en contadas ocasiones, para tareas de mantenimiento o usos particulares del sistema.
El nivel 4 está en desuso. Podemos utilizarlo para crear un inicio del sistema personalizado.
Por último, los niveles 0 y 6 son especiales porque detienen todos los procesos y servicios del sistema. La diferencia es que, al final , el nivel 6 lanza un script que vuelve a iniciar el sistema.
Cuando usamos este tipo de distribuciones, sólo hay que cambiar una línea en el archivo /etc/inittab, concretamente, la que muestra el siguiente contenido:
id:3:initdefault:
Por su parte, Ubuntu utiliza un mecanismo de inicio diferente, llamado Upstart, y no existe el archivo /etc/inittab. Además, también se ha simplificado el uso de los niveles de ejecución, habiendo quedado de esta forma:
Así pues, en Ubuntu no podemos cambiar el modo en el que arranca el sistema en el archivo /etc/inittab. En su lugar, el nivel de ejecución se guarda en la variable DEFAULT_RUNLEVEL, dentro del archivo /etc/init/rc-sysinit.conf.
Una de las formas más sencillas que tenemos para cambiarlo es modificar los parámetros que recibe de forma predeterminada el gestor de arranque (GRUB) para indicar que el arranque debe producirse en modo texto. Lo haremos modificando el archivo /etc/default/grub.
Cuando nano nos muestre el contenido del archivo, nos desplazamos hasta la línea que tiene el siguiente contenido:
GRUB_CMDLINE_LINUX_DEFAULT=»quiet splash»
Nos situamos al final de la línea y añadimos la palabra text. El resultado final será este:
GRUB_CMDLINE_LINUX_DEFAULT=»quiet splash text»
Cuando acabemos salimos de la edición guardando los cambios.
Como siempre, el editor nos pregunta si queremos guardar los cambios y nos pide que confirmemos el nombre del archivo.
Para terminar, actualizamos la configuración del gestor de arranque ejecutando la siguiente orden:
sudo update-grub
Después de esto, sólo nos faltará reiniciar el sistema para comprobar que todo ha sido correcto.
Iniciar la interfaz gráfica desde el modo texto
Cuando configuramos el sistema para que arranque en modo texto, no estamos renunciando a usar la interfaz gráfica cada vez que lo consideremos oportuno. De hecho, si queremos iniciar temporalmente la interfaz gráfica, sólo tenemos que escribir la siguiente orden:
startx
No obstante, con una observación más detenida, apreciaremos una pequeña diferencia: No aparece el elemento Control de sesiones (el lugar donde aparece el nombre de usuario actual en el panel superior ). Este elemento facilita el acceso a la configuración de las cuentas de usuario y cuentas en línea. Además, nos permite Cambiar cuenta de usuario… e iniciar una Sesión de invitado.
El motivo de que no aparezca este elemento es que la sesión depende exclusivamente de la sesión que tenemos abierta en modo texto.
Por lo demás, el entorno es idéntico al que teníamos antes de hacer las modificaciones, por lo que podemos hacer cualquier tarea de las que realizábamos antes.
Cuando hayamos terminado el trabajo con la interfaz gráfica, sólo tendremos que hacer clic sobre el icono Indicador del menú de sesión (Session menu indicator) .
Aparecerá una ventana emergente que nos solicita confirmación para finalizar la sesión gráfica.
La sesión gráfica se cierra inmediatamente…
Administrar el servidor desde otro equipo de la red.
SSH son las siglas de Secure SHell.
OpenSSH es la versión abierta y libre del protocolo SSH
Existe una forma sencilla, y razonablemente segura, de conectarse a un servidor desde un cliente con fines administrativos: me refiero al protocolo SSH.
Mediante SSH podremos controlar de forma remota un ordenador (normalmente un servidor) donde hayamos instalado con antelación el software que ofrece este servicio.
Este tipo de acceso es particularmente útil en dos situaciones que son bastante frecuentes:
- No tenemos un acceso cómodo al equipo. Suele ocurrir cuando se encuentra en una sala de servidores con características especiales.
- No dispone de pantalla ni teclado desde los que trabajar. Suele ocurrir cuando el servidor se encuentra inserto en un rack.
El protocolo SSH cifra toda la información que viaja entre el cliente y el servidor. Este dato es particularmente importante cuando utilizamos Internet como vía de acceso.
Instalar y configurar OpenSSH en el servidor
Para instalar SSH en el servidor, sólo tenemos que ejecutar el siguiente comando:
sudo apt-get install openssh-server
Con esto ya sería suficiente. El servidor estaría listo para recibir solicitudes de conexión. Sin embargo, aún es recomendable hacer algún ajuste para mejorar un poco más la seguridad. Para lograrlo, editamos el archivo /etc/ssh/sshd_config, por ejemplo, con el siguiente comando:
sudo nano /etc/ssh/sshd_config
Inmediatamente, se abre el editor con el contenido del archivo de configuración.
El archivo sshd_config contiene la configuración que utilizará OpenSSH para funcionar. En él, deberíamos cambiar al menos los siguientes datos:
-
El parámetro Port, contiene el puerto que emplearemos para la conexión. De forma predeterminada se utiliza el 22, pero, como una medida básica para impedir accesos indebidos, lo cambiaremos por un valor diferente. Podemos elegir cualquier valor entre 1025 y 65536 (por ejemplo, el 5000).
-
El parámetro Allowusers, si existe, limita la conexión remota sólo a los usuarios relacionados a continuación. De forma opcional, podemos añadir la IP de los ordenadores clientes desde los que pueden conectarse dichos usuarios (aunque necesitaríamos que dichos clientes tuviesen también una IP fija).
UseDNS no AllowUsers usuario@192.168.1.100
Si necesitásemos incluir más de un usuario, los añadiríamos a continuación del primero, separados por espacios en blanco, repitiendo el mismo formato nombre_de_usuario@dirección_ip.
En nuestro ejemplo, sólo limitaremos por nombre de usuario.
- En el parámetro PermitRootLogin, cambiaremos su valor a no, para impedir accesos remotos con el superusuario.
Cuando acabemos, deberemos reiniciar el servicio usando el siguiente comando:
sudo service ssh restart
Conectar con un servidor SSH usando la terminal de ubuntu
Una vez que hemos instalado y configurado satisfactoriamente el servidor, vamos a ver lo fácil que resulta conectarse a él desde un cliente Linux.
Es importante decir que, la mayoría de las distribuciones Linux ya incorporan de forma predeterminada el cliente SSH, por lo que no es frecuente que necesitemos instalarlo.
Por lo tanto, para utilizarlo, sólo tenemos que escribir algo como esto:
ssh -p 5000 usuario@192.168.1.10
Como se puede suponer, el argumento -p se utiliza para indicar el número del puerto que utiliza el servidor para escuchar solicitudes de conexión SSH (recuerda que lo configuramos así en el archivo sshd_config). Después, indicaremos la cuenta de usuario, definida en el servidor, que queremos utilizar para autenticarnos y la dirección IP del propio servidor (ambos separados por un carácter @).
De forma predeterminada, SSH utiliza un método de cifrado basado en clave pública. Como es la primera vez que nos conectamos, el cliente SSH nos informa de que no conoce la clave pública que le está ofreciendo el servidor y la muestra para que podamos validarla.
Dado que estamos en un entrono de red controlado y sí estamos seguros de que el servidor al que nos estamos conectando es confiable, contestamos Sí (yes) a la pregunta de si queremos continuar con la conexión.
Al aceptar la conexión, el cliente SSH guarda esta clave pública en el archivo known_hosts, que se encuentra dentro de la carpeta .ssh en el perfil del usuario con el que estamos iniciando la conexión (en este caso, /home/cliente/.ssh/known_hosts). De esta forma, la próxima vez que iniciemos sesión en el mismo servidor, ya no volverá a preguntarnos.
Obviamente, para la autenticación usaremos la contraseña que corresponda con la cuenta a la que nos estamos conectando en el servidor.
3
Si todo es correcto, el sistema nos da la bienvenida y nos ofrece el prompt listo para que comencemos a escribir comandos.
Observa que el prompt ha cambiado: Al principio de la imagen se está mostrando el prompt del equipo cliente porque es ahí donde ejecutamos el cliente SSH (en nuestro ejemplo, cliente@Desktop:/home/cliente), mientras que al final de la imagen se muestra el prompt del servidor (en nuestro caso, usuario@somebooks-nfs:~). Esto nos muestra claramente que la conexión está activa.
A partir de aquí, podremos escribir ordenes en el servidor, desde el equipo cliente, como si estuviésemos físicamente delante del servidor.
Conectar con un servidor SSH desde Windows 7
Si en nuestra red los servidores fuesen Linux y los clientes Windows, no debemos preocuparnos de nada, porque también podremos acceder a la consola de Linux desde cualquiera cliente Windows. Lo único que necesitamos es un programa como PuTTY.
PuTTY es un cliente telnet y SSH programado originalmente por Simon Tatham para sistemas Windows, pero ahora lo mantienen un grupo de voluntarios. Dado que es software libre, se puede obtener gratuitamente tanto su versión ejecutable como su código fuente.
Para descargar la versión Windows, sólo tenemos que acceder al área de descargas de su página web (http://www.putty.org/)…
Una característica interesante de PuTTY es que una vez descargado, no hay que instalarlo. Así, podemos guardar el ejecutable en un dispositivo flash, por ejemplo, y llevarlo con nosotros a cualquier ordenador donde podamos necesitarlo.
Esto hará que se abra la ventana que utiliza PuTTY para configurar la conexión. En ella escribiremos, como mínimo la dirección IP del servidor y el puerto que está usando para atender intentos de conexión (recuerda que lo configuramos con el valor 5000)
Veremos que inmediatamente es abre una ventana de texto donde se va a establecer la comunicación con la terminal del servidor.
Sin embargo, como ya ocurrió en Ubuntu, dado que es la primera vez que intentamos acceder desde Windows 7, PuTTY nos muestra una ventana donde avisa de que no conoce la clave pública que le está enviando el servidor y la muestra para que podamos validarla.
Igual que antes, seguimos en un entrono de red controlado y estamos seguros de que el servidor al que nos estamos conectando es confiable. No obstante, PuTTY nos ofrece una opción más que la terminal de Ubuntu:
- Si hacemos clic sobre el botón Sí, añadiremos la clave al archivo de claves de PuTTY para que la próxima vez reconozca al servidor y no vuelva a mostrar este mensaje. Esta es la opción que equivale a la que usamos en Ubuntu.
- Si hacemos clic sobre el botón No, estableceremos igualmente la conexión con el servidor, pero PuTTY no guardará la clave pública del servidor.
- Si hacemos clic sobre el botón Cancelar, abortaremos el intento de conexión.
Al cerrar la ventana de aviso, la ventana de texto que había detrás nos solicita el nombre de usuario (login as:) y la contraseña (password).
Observa que el prompt se corresponde con el del servidor Ubuntu. Ya podemos comenzar la administración del servidor.
Cuando acabemos, basta con escribir la orden exit. Esto hará que se cierre la sesión en el servidor y la ventana de texto de PuTTY.
Si en lugar de escribir la orden exit cerramos directamente la ventana de texto, PuTTY nos preguntará si queremos cerrar la sesión.
Si hemos intentado cerrar la ventana por error, basta con hacer clic sobre el botón Cancelar para volver a la ventana de texto.