Muestra las diferencias entre dos versiones de la página.
sad:ubuntu:p8 [2018/01/10 17:35] José Manuel Guallar |
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 | ||
- | root@ubuntu:/etc/init.d# echo "Observa que no se devuelven líneas, porque sshd no se está ejecutando." | ||
- | 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 "servicio" "service" | ||
- | |||
- | |||
- | <code bash> | ||
- | |||
- | root@ubuntu:/etc/init.d# service ssh status | ||
- | |||
- | 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 | ||
- | |||
- | root@ubuntu:/etc/init.d# ps -eaf | grep -v grep | grep 3454 | ||
- | |||
- | Reemplaza 3454, que es tu PID ssh. | ||
- | |||
- | root@ubuntu:/etc/init.d# service ssh stop | ||
- | |||
- | Este comando todavía detiene el daemon ssh. | ||
- | |||
- | root@ubuntu:/etc/init.d# ps -eaf | grep -v grep | grep sshd | ||
- | |||
- | Observa que no se muestran procesos para sshd, ya que detuvimos sshd en el comando anterior. | ||
- | |||
- | root@ubuntu:/etc/init.d# Service ssh start | ||
- | |||
- | Reiniciamos sshd, tiene un nuevo PID de 3473 en mi caso. | ||
- | |||
- | 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> | ||
- | |||
- | abrimos el fichero de configuracion | ||
- | |||
- | <code bash> | ||
- | root@ubuntu:/# nano /etc/ssh/sshd_config | ||
- | |||
- | buscamos (^W) PermitRootLogin | ||
- | </code> | ||
- | |||
- | 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 matar 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 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 que se han creado 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 final | ||
- | |||
- | <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> | ||
- | |||
- | |||