Muestra las diferencias entre dos versiones de la página.
sad:ubuntu:p8 [2018/01/11 15:37] José Manuel Guallar [Copia de seguridad del fichero /etc/ssh/sshd_config] |
sad:ubuntu:p8 [2019/01/04 13:18] |
||
---|---|---|---|
Línea 1: | Línea 1: | ||
- | ====== ¿Qué es SSHD? ====== | ||
- | |||
- | sshd (OpenSSH Daemon) es el programa daemon para ssh. Este programa reemplazan a rlogin y rsh que proporcionan comunicaciones encriptadas seguras entre dos hosts que no son de confianza en una red insegura. | ||
- | |||
- | ¿Qué es apt-get, dpkg y update-rc.d | ||
- | |||
- | apt-get: APT es el acrónimo de Advanced Package Tool. Es compatible con la instalación de paquetes a través de Internet (ftp o http). | ||
- | |||
- | dpkg: herramienta de empaquetado de Debian que se puede usar para instalar, consultar y desinstalar paquetes. | ||
- | |||
- | update-rc.d: el comando update-rc.d se usa para crear iniciar, habilitar, eliminar y eliminar scripts para los servicios enumerados en /etc/init.d | ||
- | |||
- | Requisito previo | ||
- | |||
- | Tener instalado Ubuntu Desktop 12.04 LTS | ||
- | | ||
- | ** Notas de la practica ** | ||
- | |||
- | En esta practica veremos cómo hacer lo siguiente: | ||
- | * Actualizaremos la lista de paquetes apt-get. | ||
- | * Utilizaremos dpkg para buscar en la lista de paquetes para openssh-server. | ||
- | * Usaremos apt-get para instalar openssh-server. | ||
- | * Aseguraremos SSHD usando el archivo / etc / ssh / sshd_conf. | ||
- | * Utilizaremos update-rc.d para crear el inicio de nivel de ejecución y eliminar las secuencias de comandos. | ||
- | |||
- | ===== Actualización del sistema ===== | ||
- | |||
- | La actualización se usa para resincronizar los archivos de índice del paquete desde sus fuentes. Es decir, el indicador de "actualización" actualiza la base de datos local de apt-get con los archivos pkglist del servidor Debian. Los índices de los paquetes disponibles se obtienen de las ubicaciones especificadas en /etc/apt/sources.list. | ||
- | |||
- | <code bash> | ||
- | root@ubuntu:~# apt-get update | ||
- | root@ubuntu:~# apt-cache search openssh-server | ||
- | root@ubuntu:~# apt-get install openssh-server | ||
- | </code> | ||
- | |||
- | {{:sad:ubuntu:p8:01.png?400|}} | ||
- | |||
- | {{:sad:ubuntu:p8:02.png?400|}} | ||
- | |||
- | {{:sad:ubuntu:p8:03.png?400|}} | ||
- | |||
- | {{:sad:ubuntu:p8:04.png?400|}} | ||
- | |||
- | ===== Verificación ===== | ||
- | |||
- | Para verificar que openssh-server esta bien instalado y funcionando | ||
- | |||
- | <code bash> | ||
- | root@ubuntu:~# ps -eaf | grep -v grep | grep sshd | ||
- | </code> | ||
- | |||
- | ps -eaf, enseña todo los procesos | ||
- | |||
- | grep -v grep, filtra la salida del proceso grep | ||
- | |||
- | grep sshd, solo enseña el proceso sshd | ||
- | | ||
- | |||
- | <code bash> | ||
- | root@ubuntu:~# pgrep -l sshd | ||
- | </code> | ||
- | |||
- | pgrep, es un comando que cobina los comando "ps" y "grep" . | ||
- | |||
- | {{:sad:ubuntu:p8:05.png?400|}} | ||
- | |||
- | ===== Script de inicio para openssh-server ===== | ||
- | |||
- | <code bash> | ||
- | root@ubuntu:/# ls -l /etc/init.d/ssh | ||
- | </code> | ||
- | |||
- | Como parte de la instalación de openssh-server, el script de inicio ssh se coloca en /etc/init.d/ssh. | ||
- | |||
- | ===== Detener e iniciar SSHD con /etc/init.d/ssh ===== | ||
- | |||
- | <code bash> | ||
- | root@ubuntu:/# cd /etc/init.d | ||
- | root@ubuntu:/etc/init.d# ./ssh stop | ||
- | root@ubuntu:/etc/init.d# ps -eaf | grep -v grep | grep sshd | ||
- | </code> | ||
- | |||
- | Observa que no se devuelven líneas, porque sshd no se está ejecutando. | ||
- | |||
- | <code bash> | ||
- | root@ubuntu:/etc/init.d# ./ssh start | ||
- | root@ubuntu:/etc/init.d# ps -eaf | grep -v grep | grep sshd | ||
- | </code> | ||
- | |||
- | Ahora se devuelve una línea, porque sshd se está ejecutando. | ||
- | |||
- | {{:sad:ubuntu:p8:05.png?400|}} | ||
- | |||
- | ===== Detener e iniciar SSHD con el comando "service" ===== | ||
- | |||
- | <code bash> | ||
- | root@ubuntu:/etc/init.d# service ssh status | ||
- | </code> | ||
- | |||
- | Aviso, si ssh se está ejecutando se muestra un número de proceso, llame al PID (ID del proceso). | ||
- | |||
- | En mi caso, el PID es 3454 | ||
- | |||
- | <code bash> | ||
- | root@ubuntu:/etc/init.d# ps -eaf | grep -v grep | grep 3454 | ||
- | </code> | ||
- | |||
- | Reemplaza 3454, que es tu PID ssh. | ||
- | |||
- | <code bash> | ||
- | root@ubuntu:/etc/init.d# service ssh stop | ||
- | </code> | ||
- | |||
- | Este comando todavía detiene el daemon ssh. | ||
- | |||
- | <code bash> | ||
- | root@ubuntu:/etc/init.d# ps -eaf | grep -v grep | grep sshd | ||
- | </code> | ||
- | |||
- | Observa que no se muestran procesos para sshd, ya que detuvimos sshd en el comando anterior. | ||
- | |||
- | <code bash> | ||
- | root@ubuntu:/etc/init.d# Service ssh start | ||
- | </code> | ||
- | |||
- | Reiniciamos sshd, tiene un nuevo PID de 3473 en mi caso. | ||
- | |||
- | <code bash> | ||
- | root@ubuntu:/etc/init.d# ps -eaf | grep -v grep | egrep '(sshd | 3473)' | ||
- | </code> | ||
- | |||
- | ps -eaf, muestra todos los procesos. | ||
- | |||
- | grep -v grep, filtra el comando grep. | ||
- | |||
- | egrep '(sshd | 4280)', busca cualquier proceso que contenga la cadena sshd o 4280. Recuerda 4280 es mi PID, y para reemplazar 4280 con tu PID. | ||
- | |||
- | {{:sad:ubuntu:p8:08.png?400|}} | ||
- | |||
- | ====== Copia de seguridad del fichero /etc/ssh/sshd_config ====== | ||
- | |||
- | <code bash> | ||
- | root@ubuntu:/# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.BKP | ||
- | root@ubuntu:/# ls -l /etc/ssh/sshd_config* | ||
- | </code> | ||
- | |||
- | ====== modificacion el fichero de configuracion ====== | ||
- | |||
- | <code bash> | ||
- | root@ubuntu:/# nano /etc/ssh/sshd_config | ||
- | </code> | ||
- | |||
- | buscamos (^W) PermitRootLogin | ||
- | |||
- | y cambiamos yes por no. Al reemplazar "yes" por "no", no permitimos que el usuario root inicie sesión a través de ssh directamente como root. | ||
- | |||
- | {{:sad:ubuntu:p8:09.png?400|}} | ||
- | |||
- | ahora buscamos **PermitEmptyPasswords** | ||
- | |||
- | De forma predeterminada, **PermitEmptyPasswords** está establecido en "no". Si **PermitEmptyPasswords** está establecido en "sí" por algún motivo estúpido FIXME hay que configurarlo como "no". | ||
- | |||
- | ====== guardamos el fichero y reseteamos el servicio ====== | ||
- | |||
- | <code bash> | ||
- | root@ubuntu:/# service ssh restart | ||
- | </code> | ||
- | |||
- | {{:sad:ubuntu:p8:10.png?400|}} | ||
- | |||
- | {{:sad:ubuntu:p8:11.png?400|}} | ||
- | |||
- | ====== Crear scripts de para inicar o detener el proceso openssh-server ====== | ||
- | |||
- | <code bash> | ||
- | root@ubuntu:/# update-rc.d ssh default | ||
- | </code> | ||
- | |||
- | El comando update-rc.d se usa para crear inicio, habilitar, eliminar y eliminar scripts para los servicios enumerados en /etc/init.d. | ||
- | |||
- | Si se utilizan los valores predeterminados, **update-rc.d******Negrita**** creará enlaces para iniciar el servicio en los niveles de ejecución 2345 y para detener el servicio en los niveles de ejecución 016. De forma predeterminada, todos los enlaces tendrán la secuencia número 20. | ||
- | |||
- | Verificar la creacion e inicio de los scripts | ||
- | |||
- | <code bash> | ||
- | root@ubuntu:/# find /etc/rc*.d/* -print | xargs ls -l | grep ssh | ||
- | </code> | ||
- | |||
- | **find /etc/rc*.d/* -print**, lista todos los archivos en /etc/rc*.d/* \\ | ||
- | **xargs ls -l**, use el comando xargs para realizar un ls de cada archivo que encuentra. \\ | ||
- | **grep ssh**, solo muestra archivos que contienen ssh. \\ | ||
- | | ||
- | ''** Print de pantalla que hay que entregar**'' | ||
- | |||
- | <code bash> | ||
- | root@ubuntu:/# grep -v "#" /etc/ssh/sshd_config | grep Permit | ||
- | root@ubuntu:/# ps -eaf | grep -v grep | grep sshd | ||
- | root@ubuntu:/# date | ||
- | root@ubuntu:/# echo "nombre" | ||
- | </code> | ||
- | |||
- | |||