Tabla de Contenidos

¿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:

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

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” .

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.

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 :?:

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.

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

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"