Remove hardcoded SSH password; prompt interactively or use env var

This commit is contained in:
2026-07-20 17:49:03 +07:00
parent 5e77c162c7
commit e1372b0584
2 changed files with 11 additions and 4 deletions
+4 -3
View File
@@ -59,15 +59,14 @@ user@192.168.255.16
По умолчанию:
- SSH-порт: `22`
- SSH/Sudo-пароль: `1q2w3e$R`
- Пользователь по умолчанию: `user`
- Адрес сервера: `http://192.168.255.180:3000`
- Токен агента: `a916c8cd656b3f40acc2920820abf88e`
Переопределить можно через переменные окружения:
**Пароль SSH/Sudo запрашивается интерактивно** при запуске скрипта. Чтобы не вводить каждый раз, можно задать переменную окружения:
```bash
export SSH_PASS='MyS3cr3t$'
export SSH_PASS='1q2w3e$R'
export SERVER_URL='http://monitor.example.com:3000'
export AGENT_TOKEN='my-token'
export SSH_PORT=2222
@@ -75,6 +74,8 @@ export DEFAULT_USER='admin'
./deploy-agent.sh
```
В этом случае пароль не отображается на экране и не сохраняется в истории shell.
## Запуск
```bash
+7 -1
View File
@@ -30,12 +30,18 @@ AGENT_CONFIG_FILE="${AGENT_CONFIG_DIR}/config.json"
SERVER_URL="${SERVER_URL:-http://192.168.255.180:3000}"
AGENT_TOKEN="${AGENT_TOKEN:-a916c8cd656b3f40acc2920820abf88e}"
SSH_PASS="${SSH_PASS:-1q2w3e\$R}"
SSH_PORT="${SSH_PORT:-22}"
DEFAULT_USER="${DEFAULT_USER:-user}"
MAX_RETRIES="${MAX_RETRIES:-3}"
RETRY_SLEEP="${RETRY_SLEEP:-3}"
# Пароль SSH/Sudo запрашивается интерактивно, если не задан через env.
# Пример: SSH_PASS='MyPass' ./deploy-agent.sh
if [[ -z "${SSH_PASS:-}" ]]; then
read -rsp "SSH/Sudo пароль: " SSH_PASS
echo ""
fi
# Цвета
RED='\033[0;31m'
GREEN='\033[0;32m'