Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    [ТУТОРИАЛ] Автоматическое разблокирование зашифрованного PVE сервера через LAN Привет всем! В этом туториале я покажу, как автоматически разблокировать зашифрованный Proxmox VE сервер, когда вы подключаетесь к нему по локальной сети (LAN). Это позволит

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    [ТУТОРИАЛ] Автоматическое разблокирование зашифрованного PVE сервера через LAN Привет всем! В этом туториале я покажу, как автоматически разблокировать зашифрованный Proxmox VE сервер, когда вы подключаетесь к нему по локальной сети (LAN). Это позволит, Proxmox Виртуальная Среда
     
    Dunuin
    Guest
    #1
    0
    30.03.2023 15:22:00
    Редакция: решение можно посмотреть в этом посте или, возможно, в каком-нибудь последующем сообщении в этой теме, так как сообщения нельзя редактировать после 30 дней.

    Привет, это не прямо PVE-вопрос, но может кто-нибудь подскажет, как это реализовать. У меня несколько некластеризованных PVE-серверов, использующих полное системное шифрование через ZFS-шифрование. Один из них работает 24/7, а остальные запускаются только когда это необходимо (проклятые цены на электроэнергию…). Чтобы разблокировать корневые разделы после загрузки, я подключаюсь через SSH к dropbear-initramfs. Dropbear на сервере автоматически запускает "/usr/bin/zfsunlock", который запросит парольную фразу для разблокировки пула и затем завершит SSH-сессию. Так что единственное, что можно сделать, это ввести этот пароль. Это отлично работает, когда я вручную разблокирую серверы с помощью Putty, а затем могу скопировать-вставить мою парольную фразу, сохраненную в хранилище Keepass. Но я не могу найти решение, как автоматически разблокировать эти PVE-серверы. Например, каждое воскресенье в 00:00 все эти серверы должны быть доступны только для резервного копирования и задач обслуживания (PVE-серверы делают резервное копирование друг друга на виртуализированные PBS, ZFS scrubs, PBS prune/GC/verify, особенно важны еженедельные ZFS-снимок, потому что без них, если сервер снова загрузится, ZFS-репликация немедленно завершится, и все эти ТБ данных придется реплицировать снова, так как репликация с инкрементальными изменениями не сработает из-за отсутствующих снимков). Мне нужно быть дома, чтобы вручную разблокировать их или загрузить и разблокировать до того, как я уйду из дома, зная, что не вернусь до 00:00. Потом серверы работают целый день без использования, тратя деньги. Мне бы хотелось создать скрипт на 24/7 работающем PVE-сервере, который бы разблокировал эти другие серверы для меня. Не будет проблемой, если парольная фраза хранится на сервере, поскольку сам сервер полностью зашифрован, поэтому сохраненная парольная фраза недоступна, когда сервер выключен (= украден). Но я просто не могу найти способ открыть SSH-сессию из скрипта bash и автоматически ввести мою парольную фразу. Похоже, что передача stdin из файла в команду ssh не работает. У кого-нибудь есть идея, как это можно решить?
     
     
     
    grinmlenx
    Guest
    #2
    0
    15.02.2024 15:26:00
    Привет, как это добавить в cron? /root/scripts/unlock_pve_node.expect "192.168.43.50" "root" "10022" "/root/.keys/unlock_id_rsa" "/root/.keys/rpool_root.pwd"
     
     
     
    Dunuin
    Guest
    #3
    0
    15.02.2024 15:41:00
    Добавлять */3 * * * * root /root/scripts/unlock_pve_node.expect "192.168.43.50" "root" "10022" "/root/.keys/unlock_id_rsa" "/root/.keys/rpool_root.pwd" > /dev/null 2>&1 в /etc/crontab и перезапускать systemctl restart cron, чтобы пытаться разблокировать его каждые 3 минуты?
     
     
     
    grinmlenx
    Guest
    #4
    0
    15.02.2024 15:44:00
    Спасибо.
     
     
     
    grinmlenx
    Guest
    #5
    0
    15.02.2024 16:26:00
    К сожалению, не работает.
     
     
     
    Dunuin
    Guest
    #6
    0
    15.02.2024 16:44:00
    Что именно? Крон? Разблокировка через droobear-initramfs? Транскрипт?
     
     
     
    grinmlenx
    Guest
    #7
    0
    15.02.2024 16:49:00
    Не работает через cron. Разблокировка через droobear-initramfs прошла успешно.
     
     
     
    Dunuin
    Guest
    #8
    0
    15.02.2024 17:27:00
    И если ты запустишь этот скрипт expect вручную через шелл, он работает? Ты перезагрузил ноду после редактирования crontab, чтобы cron использовал отредактированный crontab? Можешь убрать "> /dev/null 2>&1", чтобы не подавлять вывод/сообщения об ошибках.
     
     
     
    grinmlenx
    Guest
    #9
    0
    15.02.2024 20:09:00
    Да, работает терминал. Cron, хост перезагрузился, spawn ssh -p 10022 -i /root/.keys/unlock_id_rsa -o ConnectTimeout=180 -o StrictHostKeyChecking=no root@10.10.10.44. Разблокировка зашифрованных ZFS файловых систем... Введите пароль или нажмите Ctrl-C для выхода. Зашифрованный пароль ZFS для rpool/ROOT: **************** Пароль для rpool/ROOT принят. Разблокировка завершена. Возобновление последовательности загрузки... Пожалуйста, переподключитесь через некоторое время. Соединение с 10.10.10.44 закрыто.  remove "> /dev/null 2>&1" к сожалению, не работает, сделал костыль )) VM win11 + putty + Automatic Mouse and Keyboard.
     
     
     
    grinmlenx
    Guest
    #10
    0
    10.03.2025 12:31:00
    Сделал, заработало через crontab: 1-59/10 * * * * /usr/bin/expect /root/scripts/unlock_pve_node.expect2 "191.168.10.10" "root" "10022" "/root/.keys/unlock_id_rsa" "/root/.keys/rpool_root2.pwd" >> /var/log/unlock001.log 2>&1 unlock_pve_node.expect2 #!/usr/bin/expect proc slurp {file} { set fh [open $file r] set ret [read $fh] close $fh return $ret } set timeout 180 spawn ssh -p [lindex $argv 2] -i [lindex $argv 3] -o ConnectTimeout=180 -o StrictHostKeyChecking=no [lindex $argv 1]@[lindex $argv 0] expect { "*Encrypted ZFS password for rpool/ROOT*" { send "[slurp [lindex $argv 4]]\r" } timeout { puts "Timeout waiting for ZFS password prompt" exit 1 } } expect eof
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры