0 Голосов

Изменения документа Let's Encrypt серты на удалённую ноду

Редактировал(а) Anton Krivchenkov 29.05.2026 13:05

От версии 2.1
отредактировано Anton Krivchenkov
на 27.05.2026 19:05
Изменить комментарий: К данной версии нет комментариев
К версии 4.1
отредактировано Anton Krivchenkov
на 29.05.2026 13:05
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

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