У меня есть полностью зашифрованный сервер под управлением Debian 7, и я настроил dropbear и busybox, чтобы разблокировать контейнер LUKS через SSH (как описано в этом руководстве и в этом ответе U & L ).
К сожалению, всякий раз, когда я пытаюсь и SSH к серверу (через локальную сеть) при перезагрузке, я получаю ошибку «Отказано в соединении». Я попытался telnet
и nmap
порт по умолчанию (22), и оба говорят, что порт закрыт.
На сервере есть ufw
правило для приема всего трафика из локальной сети:
Anywhere ALLOW 192.168.1.0/24
Я попытался изменить порт , который прослушивает Dropbear на в , /etc/defaults/dropbear
но ssh
и telnet
по - прежнему отказывались соединения 1 .
Как я могу убедиться, что на этом этапе процесса загрузки порт открыт, чтобы я мог подключиться, чтобы разблокировать контейнер LUKS?
Отключение брандмауэра не имеет значения: nmap
показывает, что все порты все еще закрыты.
Обновление 2/14
Я добавил break=premount
в строку ядра и покопался в initramfs. dropbear
запущен, но в данный момент сеть не работает. После выхода из сети запускается и загрузка продолжается до тех пор, пока не появится приглашение разблокировать устройство LUKS.
В этот момент сеть работает , и хосту назначен правильный IP-адрес, но порт 22 по-прежнему закрыт.
Линия IP, /etc/initramfs-tools/intiramfs.conf
которую я использую:
export IP=192.168.1.200::192.168.1.1:255.255.255.0::eth0:off
В соответствии с указаниями, /usr/share/doc/cryptsetup/README.remote.gz
я попытался просто добавить опцию устройства, но этого недостаточно для подключения к сети и получения аренды DHCP.
Обновление 10/10/14
Ответ Карла был то, что требовалось: настройка /etc/initramfs-tools/conf.d/cryptroot
была ключом:
target=md1_crypt,source=UUID=8570d12k-ccha-4985-s09f-e43dhed9fa2a
Это руководство также оказалось более современным и актуальным (и успешным).
источник
ps
) и прослушивает ожидаемый порт (черезnetstat
)?break=X
параметров загрузки, чтобы получить раннююinitramfs
оболочку? Всякий раз, когда я отлаживаю проблемы шифрования файловой системы, я используюbreak=premount
. Вы можете проверить ситуацию, решить ее и продолжить загрузку.Ответы:
Я получил эту же проблему несколько недель назад (Debian Wheezy 7.6), и после нескольких дней устранения неполадок я обнаружил, что отсутствовал файл конфигурации, который мешал скрипту cryptroot на init-top работать правильно, поэтому он не останавливался спросить пароль через ssh, убив dropbear в конце последовательности (init-bottom).
Файл конфигурации вызывается
cryptroot
и должен быть в разделе/etc/initramfs-tools/conf.d/
Если я не ошибаюсь, что файл конфигурации должен был быть создан автоматически во время установки (я прочитал только одно руководство, говорящее об этом файле конфигурации), но почему-то этого не произошло (проверено на физическом сервере и в ВМ, та же ОС и версии)Мне потребовалось несколько попыток, чтобы правильно настроить его, так как я не мог найти правильный синтаксис в то время. Мой файл конфигурации cryptroot выглядит следующим образом:
После создания файла конфигурации просто обновите initramfs и попробуйте снова:
источник
cryptroot
синтаксис отличается от вашего, но вашего ответа было достаточно, чтобы указать мне правильное направление. Я в долгу перед вами.Тема не в порядке. Проблема не в закрытом порту, а в том, что он не был связан. SSHd еще не запущен; вот почему вы не можете подключиться к нему.
источник
sshd
: как говорится в вопросе, я пытаюсь подключиться к экземпляру dropbear, который по умолчанию работает на порту 22.Предполагается, что dropbear (ssh-сервер) запускается очень рано во время фазы загрузки - раньше, чем последовательность
init
(rcN.d) и сценарии инициализации брандмауэра; даже раньше, чем / смонтировано (тоже зашифровано, верно?). Итакinitramfs
, предварительная / пользовательская область загружается для ядра загрузчиком. Изображение (ре) генерируетсяupdate-initramfs -u
из содержимого/etc/initramfs-tools/
, включая конфигурацию dropbear в/etc/initramfs-tools/etc/dropbear/
. Чтобы поиграть с конфигом dropbear, поиграйте с ним.Таким образом, несколько пунктов, чтобы проверить:
источник