Изменения документа Let's Encrypt серты на удалённую ноду
Редактировал(а) Anton Krivchenkov 29.05.2026 13:05
От версии 5.1
отредактировано Anton Krivchenkov
на 29.05.2026 13:05
на 29.05.2026 13:05
Изменить комментарий:
К данной версии нет комментариев
К версии 2.1
отредактировано Anton Krivchenkov
на 27.05.2026 19:05
на 27.05.2026 19:05
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -28,8 +28,6 @@ 28 28 chmod 600 /home/anton/.ssh/id_ed25519 29 29 ``` 30 30 31 -* перекинь ключssh-copy-id <anton@192.168.1.91> 32 - 33 33 ### 2. Настройка sudo без пароля на удалённой машине 34 34 35 35 Чтобы скрипт не завис в ожидании ввода пароля, на **удалённой машине** (`192.168.1.121`) разрешите пользователю `anton` выполнять `rsync` и `docker` без пароля. ... ... @@ -67,25 +67,25 @@ 67 67 Создайте файл скрипта, например `/home/anton/sync-certs.sh`: 68 68 69 69 #!/bin/bash 68 + set -e # Прерывать выполнение при любой ошибке 70 70 71 - set -e 72 - 73 73 # Настройки 74 - SRC="/home/anton/swag_crowdsec/swag/keys/letsencrypt/" 71 + # ВНИМАНИЕ: Слэши (/) в конце путей для rsync имеют значение! 72 + SRC="/home/anton/swag_crowdsec/swag/keys/letsencrypt/live/nextcl.dev0ps.online/" 75 75 DEST_USER="anton" 76 - DEST_IP="192.168.1.91" 77 - DEST_DIR="/etc/letsencrypt/live/pipe.dev0ps.online/" # Папка на виртуалке 74 + DEST_IP="192.168.1.121" 75 + DEST_DIR="/etc/letsencrypt/live/nextcl.dev0ps.online/" 76 + SSH_KEY="/home/anton/.ssh/id_ed25519" 78 78 79 79 echo "[$(date)] Запуск синхронизации сертификатов..." 80 80 81 - # Копируем с разыменованием симлинков (-L) 82 - # Если у тебя SSH на стандартном порту 22, удали "-p 2222" из кавычек ниже! 83 - rsync -avLz --delete --rsync-path="sudo rsync" -e "ssh -p 22 -i /home/anton/.ssh/id_ed25519" "$SRC" "${DEST_USER}@${DEST_IP}:${DEST_DIR}" 80 + # Копируем с разыменованием симлинков (-L) и удалением лишнего (--delete) 81 + rsync -avLz --delete --rsync-path="sudo rsync" -e "ssh -i $SSH_KEY" "$SRC" "${DEST_USER}@${DEST_IP}:${DEST_DIR}" 84 84 85 - # Перезапуск контейнер ов(ПОКАЗАКОММЕНТИРОВАНО, таккакнодаещене установлена)86 - #ssh -p 2222 -i/home/anton/.ssh/id_ed25519${DEST_USER}@${DEST_IP} "cd /opt/remnawave && sudo docker compose restart remnawave-nginx naiveproxy hysteria2"83 + # Перезапускаем контейнеры на ноде, чтобы они подхватили новые файлы 84 + ssh -i "$SSH_KEY" ${DEST_USER}@${DEST_IP} "cd /opt/remnawave && sudo docker compose restart remnawave-nginx naiveproxy hysteria2" 87 87 88 - echo "[$(date)] Синхронизация завершена." 86 + echo "[$(date)] Синхронизация завершена успешно." 89 89 90 90 Сделайте скрипт исполняемым: 91 91 ... ... @@ -128,6 +128,8 @@ 128 128 * `sudo cd` **не работает** — `cd` это встроенная команда оболочки (shell builtin), а не отдельная программа, которую `sudo` может выполнить с повышенными правами. 129 129 * `cat` предназначен для чтения **файлов**, при попытке применить его к **папке** будет ошибка. Для просмотра содержимого директории используйте `ls`. 130 130 129 + 130 + 131 131 --- 132 132 133 133 ## Автоматизация через cron (опционально)