====== ¿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.** root@ubuntu:~# apt-get update root@ubuntu:~# apt-cache search openssh-server root@ubuntu:~# apt-get install openssh-server {{:sad:ubuntu:p8:01.png?400|}} {{:sad:ubuntu:p8:02.jpg?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 root@ubuntu:~# ps -eaf | grep -v grep | grep sshd **ps -eaf**, enseña todo los procesos \\ **grep -v grep**, filtra la salida del proceso grep \\ **grep sshd**, solo enseña el proceso sshd root@ubuntu:~# pgrep -l sshd **pgrep**, es un comando que cobina los comando **"ps"** y **"grep"** . {{:sad:ubuntu:p8:05.png?400|}} ====== Script de inicio para openssh-server ====== root@ubuntu:/# ls -l /etc/init.d/ssh 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 ====== 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 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 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" ====== 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 el 3454 por tu PID ssh que te muestra tu ordenador. 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)' **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. Sustituye el valor 4280 por tu PID :?: {{:sad:ubuntu:p8:08.png?400|}} ====== Copia de seguridad del fichero /etc/ssh/sshd_config ====== root@ubuntu:/# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.BKP root@ubuntu:/# ls -l /etc/ssh/sshd_config* ====== modificacion el fichero de configuracion ====== root@ubuntu:/# nano /etc/ssh/sshd_config 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 ====== root@ubuntu:/# service ssh restart {{:sad:ubuntu:p8:10.png?400|}} {{:sad:ubuntu:p8:11.png?400|}} ====== Crear scripts de para inicar o detener el proceso openssh-server ====== root@ubuntu:/# update-rc.d ssh defaults 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 la creacion e inicio de los scripts root@ubuntu:/# find /etc/rc*.d/* -print | xargs ls -l | grep ssh **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**'' 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"