¡Esta es una revisión vieja del documento!
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:
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
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” .
05
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.
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
Ahora se devuelve una línea, porque sshd se está ejecutando.
07
Detener e iniciar SSHD con el comando “servicio” “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 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)'
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.
08
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*
abrimos 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 hay que configurarlo como “no”.
guardamos el fichero y reseteamos el servicio
root@ubuntu:/# service ssh restart
11
Crear scripts de para inicar o matar el proceso openssh-server
root@ubuntu:/# update-rc.d ssh default
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
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 final
Proof of Lab
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"