Tengo un servidor totalmente encriptado que ejecuta Debian 7 y he configurado dropbear y busybox para desbloquear el contenedor LUKS a través de SSH (como se describe en este tutorial y en esta respuesta U&L ).
Desafortunadamente, cada vez que intento y SSH al servidor (a través de la LAN) al reiniciar, aparece un error de "Conexión rechazada". He intentado telnet
y nmap
al puerto predeterminado (22) y ambos dicen que el puerto está cerrado.
El servidor tiene una ufw
regla para aceptar todo el tráfico de la LAN:
Anywhere ALLOW 192.168.1.0/24
He intentado cambiar el puerto que escuchas en dropbear en /etc/defaults/dropbear
pero ssh
y telnet
todavía se les niega conexiones 1 .
¿Cómo puedo asegurarme de que un puerto esté abierto en esa etapa del proceso de arranque para poder conectarme para desbloquear el contenedor LUKS?
Deshabilitar el firewall no hace ninguna diferencia: nmap
muestra todos los puertos aún cerrados.
Actualización 14/02
Agregué break=premount
a la línea del kernel y tuve que hurgar en initramfs. dropbear
ha comenzado, pero la red no está activa en ese momento. Después de salir, la red aparece y el arranque continúa hasta que se le solicite que desbloquee el dispositivo LUKS.
En este punto, la red está activa y al host se le ha asignado la dirección IP correcta, pero el puerto 22 todavía está cerrado.
La línea IP /etc/initramfs-tools/intiramfs.conf
que estoy usando es:
export IP=192.168.1.200::192.168.1.1:255.255.255.0::eth0:off
De acuerdo con las instrucciones en /usr/share/doc/cryptsetup/README.remote.gz
que he intentado simplemente agregar la opción de dispositivo, pero eso no es suficiente para activar la red y obtener un contrato de arrendamiento de dhcp.
Actualización 10/11/14
La respuesta de Karl fue lo que se requería: la configuración /etc/initramfs-tools/conf.d/cryptroot
era la clave:
target=md1_crypt,source=UUID=8570d12k-ccha-4985-s09f-e43dhed9fa2a
Esta guía también demostró ser más actualizada y relevante (y exitosa).
fuente
ps
) y escuchando en el puerto que espera (víanetstat
)?break=X
parámetros de arranque para obtener uninitramfs
shell temprano ? Cada vez que depuro problemas de cifrado del sistema de archivos, lo usobreak=premount
. Puede verificar cuál es la situación, resolverla y continuar arrancando.Respuestas:
Recibí este mismo problema hace unas semanas (Debian Wheezy 7.6) y después de algunos días de solución de problemas descubrí que faltaba un archivo de configuración que impedía que el script cryptroot en init-top se ejecutara correctamente, por lo tanto, no se detenía para solicitar la contraseña a través de ssh, eliminando el dropbear al final de la secuencia (init-bottom).
Se llama al archivo de configuración
cryptroot
y debe estar debajo./etc/initramfs-tools/conf.d/
Si no me equivoco, ese archivo de configuración debería haberse creado automáticamente durante la instalación (he leído solo un tutorial que habla sobre ese archivo de configuración) pero de alguna manera no lo hizo (probado en un servidor físico y en una VM, mismo sistema operativo y versiones)Me tomó un par de intentos configurarlo correctamente, ya que no pude encontrar la sintaxis adecuada en ese momento. Mi archivo de configuración cryptroot es el siguiente:
Una vez creado el archivo de configuración, simplemente actualice los initramfs e intente nuevamente:
fuente
cryptroot
sintaxis es diferente a la suya, pero su respuesta fue suficiente para señalarme en la dirección correcta. Estoy en deuda contigo.La línea de asunto está mal. El problema no es un puerto cerrado, es un puerto que no estaba vinculado. SSHd aún no ha comenzado; esa es la razón por la que no puedes conectarte a él.
fuente
sshd
: como dice la pregunta, estoy tratando de conectarme a una instancia dropbear que se ejecuta en el puerto 22 de forma predeterminada.Se supone que el
init
dropbear (servidor ssh) debe iniciarse muy temprano durante la fase de arranque, antes de la secuencia (rcN.d) y los scripts de inicio del firewall; incluso antes de / está montado (también está encriptado, ¿verdad?). Por lo tanto, se trata deinitramfs
la tierra previa / de usuario cargada para el núcleo por el cargador de arranque. La imagen se (re) genera aupdate-initramfs -u
partir del contenido de/etc/initramfs-tools/
, incluida la configuración dropbear en/etc/initramfs-tools/etc/dropbear/
. Para jugar con la configuración dropbear, juega con esa.Por lo tanto, pocos puntos para verificar:
fuente