LINUX AVANZADO II
PRACTICA DE SERVIDOR SSH (OPENSSH)
DOCENTE:
MG. LUIS ESTEBAN GARCIA CUIDA
INTEGRANTES:
JOJANN DE JESÚS DE VARGAS ÁLVAREZ
ANGIE PAOLA URUETA TARDECILLA
INGENIERÍA DE SISTEMAS VI
UNIVERSIDAD DE CÓRDOBA
SEDE LORICA
25 DE SEPTIEMBRE DE 2014
A) En un ordenador con GNU/Linux, instalar el servidor OpenSSH. Comprobar
su funcionamiento, haciendo pruebas de conexión desde la misma máquina y
desde otras máquinas.
Servidor:
Primero instalamos el servidor ssh en la maquina #1 usando el comando sudo
apt-get install openssh-server:
Luego de descargar los archivos necesarios se instala como de costumbre y si
todo sale bien nos mostrara que se inicia el servicio correctamente:
Ahora configuramos el archivo /etc/ssh/sshd_config
Asignamos el puerto 777 a nuestro servidor:
Luego deshabilitamos el login root por ssh para que ningún usuario conectado
por ssh pueda tener los privilegios de root, seguidamente des comentamos la
línea AutorizedKeysFile esto con el fin de que nuestro servidor admita
conexiones empleando claves criptográficas (RSA) y así no tener que escribir
la contraseña cada vez que deseemos conectarnos al servidor remoto.
Guardamos los cambios y reiniciamos el servidor openssh mediante el
comando sudo service ssh restart
Luego observamos la IP de nuestro servidor para que los usuarios puedan
conectarse:
Ahora todo esta listo para que los usuarios o clientes se puedan conectarse.
Cliente:
Primero comprobamos si el paquete openssh-client se encuentra instalado en
nuestra maquina cliente:
Como podemos observar se encuentra instalado. Entonces procedemos a
conectarnos:
Ahora tenemos acceso remoto al servidor por medio de ssh. Para comprobarlo
haremos un ls y guardaremos el resultado en un archivo del servidor:
Luego en el servidor procedemos a observar si existe el archivo:
Y como podemos observar hay lo encontró.
B) Configurar el sistema para que su usuario pueda conectarse sin tener que
entrar una contraseña, empleando un par de claves criptográficas (del
criptosistema RSA) que se deberán generar.
Primero generamos las claves en el cliente usando el comando ssh-keygen –t
rsa la opción –t rsa es para que se han llaves de tipo RSA:
Luego de generar las llaves tenemos que copiar la llave pública a nuestro
servidor para que este nos identifique cada vez que nos conectemos y así no
nos solicite contraseña:
Ahora ingresamos por contraseña al servidor para editar el archivo
authorized_keys que es en donde se encuentran las llames públicas RSA de
todos los clientes que se conectan al servidor, entonces lo que vamos hacer el
agregar la que acabamos de copiar a este archivo de la siguiente manera:
Luego de haber hecho lo anterior cerramos la sesión y ejecutamos el comando
ssh-add este comando permite agregar la llave RSA al cliente para que este
establezca la conexión con el servidor:
Ahora procedemos a conectarnos nuevamente al servidor:
Y como nos podemos dar cuenta no solicito ninguna contraseña para
establecer la conexión.
Copiamos algunos archivos:
De cliente a servidor:
De servidor a cliente:
Como nos podemos dar cuenta al copiar los archivos tampoco nos solicita
ningún tipo de contraseña ya que se establece automáticamente la conexión
por RSA. La opción –P es para especificar el puerto, que en nuestro caso es el
777.
E) Considerar que desde la máquina de una oficina necesita trabajar con el
paquete OpenOffice (o cualquiera otro paquete que tenga salida gráfica) de la
máquina de la otra oficina. Decir (y demostrarlo) cómo se puede configurar la
conexión para habilitar este tipo de ejecución, empleando las posibilidades de
ssh.
Para ejecutar una aplicación grafica que esta alojada en el servidor en el lado
del cliente se pasa el parámetro –X al comando ssh y se especifica el nombre
de la aplicación a ejecutar de la siguiente manera:
Luego de ejecutar el comando esperamos unos segundos y se nos abre la
ventana del programa especificado, en este caso gedit:
Cuando procedemos a guardar el documento se nos muestra el cuadro de
dialogo como si estuviéramos ejecutando la aplicación en la maquina remota y
no en la cliente:
También probamos con una aplicación que solo este instalada en el servidor en
este caso Virtual Box:
Los gráficos estas vez son un poco mas reducidos pero es muy fluido y
eficiente. Hasta se pudo ejecutar una maquina virtual de lo mas de bien.
Mediante el protocolo SSH, administrar los servicios de DHCP:
• Subir los servicios del servidor DHCP.
Primero iniciamos la sesión por ssh dentro de nuestro servidor y ejecutamos el
comando sudo service dhcp3-server start para subir el servidor dhcp.
Nota: cambio la IP del servidor en este comando con respecto a los anteriores
ya que están configuradas de forma dinámica.
• Hacer un script que realice una copia de seguridad de la base de datos de
arrendamiento del servidor DHCP y este script nombre la copia con la fecha de
ejecución del script, además una vez hecho la copia de seguridad la transfiera
al equipo cliente. El script debe estar alojado en el servidor y a través de SSH
ejecútelo.
Primero que todo se nos pide que realicemos una copia del archivo
dhcpd.leases luego renombrarla con la fecha, copiarlo en una ruta del servidor
y finalmente copiarla al cliente pero resulta que para copiarla al cliente este
debe tener también instalado y configurado un servidor ssh (openssh). Por lo
que primero procedemos a configurar, instalar y crear un par de llaves RSA
para que el servidor se autentique con el cliente sin necesidad de pedir
contraseña y así el Shell se ejecute más fluidamente.
En esta oportunidad se omite la configuración del cliente con openssh ya que
esos pasos están dichos mas arriba y no vale la pena repetir lo mismo. Es
exactamente igual y no hay mayor inconveniente con eso.
Por lo que entonces procedemos directamente a copiar el script del cliente al
servidor.
Pero antes daremos una breve explicación de lo que hace el script:
Donde dice fecha se guarda la fecha actual que se obtiene mediante el
comando date.
Luego la salida del date se re direcciona a un awk para que cambie los “:” que
separan las horas, minutos, y segundos por una “_”
Después se pasa a otro awk que cambiara los espacios por “_” y ordenara la
fecha de forma que el día en letras (lunes, martes,…, viernes) quede de
primero, luego el día en numero, después el mes, luego el año y finalmente la
hora.
El comando whoami nos dice el nombre de usuario que ejecuta el script.
En la siguiente línea lo que se hace es copiar el archivo dhcpd.leases de su
ruta original a una carpeta dentro del directorio de usuario de nuestro servidor
cambiando el nombre por la fecha establecida.
Y finalmente el archivo es copiado de nuestro servidor a nuestro cliente usando
el comando scp (secure cp) en una carpeta llamada leases-cli ubicada en el
directorio de usuario del cliente
Ahora si, procedemos a copiar el script:
Ahora nos conectamos al servidor, ejecutamos el script y vemos que pasa:
Como nos podemos dar cuenta realizo el procedimiento correctamente.
Ahora procedemos a confirmar que el archivo exista dentro de la ubicación
establecida:
Y si ahí se encuentra la copia que acabamos de realizar.