changes
This commit is contained in:
parent
2aa19dc62a
commit
bbbe044dac
@ -13,14 +13,18 @@ set -e
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# Prepare app environment:
|
||||
apt update -y
|
||||
apt upgrade -y
|
||||
apt install -y mc vim zip pwgen
|
||||
apt install -y mc vim pwgen
|
||||
# ... zip
|
||||
|
||||
# Set timezone:
|
||||
timedatectl set-timezone Asia/Yekaterinburg
|
||||
echo "Timezone changed:"
|
||||
timedatectl
|
||||
|
||||
# add new sudo user:
|
||||
if id "$USERNAME" &>/dev/null; then
|
||||
echo "User $USERNAME already exists"
|
||||
else
|
||||
|
@ -1,41 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Переменные
|
||||
SOURCE_DIR="/data/secrets"
|
||||
ARCHIVE_NAME="secrets.tar.gz.enc"
|
||||
REMOTE_USER="remote_user"
|
||||
REMOTE_HOST="remote_host"
|
||||
REMOTE_DIR="/secrets"
|
||||
PASSWORD_FILE="$SOURCE_DIR/secrets.env"
|
||||
|
||||
# Путь к зашифрованному архиву
|
||||
ARCHIVE_PATH="$SOURCE_DIR/$ARCHIVE_NAME"
|
||||
|
||||
# Чтение пароля из файла
|
||||
if [ -f "$PASSWORD_FILE" ]; then
|
||||
PASSWORD=$(cat "$PASSWORD_FILE")
|
||||
else
|
||||
echo "Файл с паролем не найден: $PASSWORD_FILE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Создание tar.gz архива и шифрование его
|
||||
tar -czf - "$SOURCE_DIR" | openssl enc -aes-256-cbc -e -pass pass:"$PASSWORD" -out "$ARCHIVE_PATH"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Не удалось создать и зашифровать архив"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Отправка архива на удаленный сервер
|
||||
rsync -avz "$ARCHIVE_PATH" "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Не удалось отправить архив на удаленный сервер"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Удаление архива после успешной отправки (опционально)
|
||||
rm -f "$ARCHIVE_PATH"
|
||||
|
||||
echo "Успешно завершено!"
|
||||
|
||||
exit 0
|
@ -1,48 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
REMOTE_USER="remote_user"
|
||||
REMOTE_HOST="remote_host"
|
||||
REMOTE_DIR="/secrets"
|
||||
REMOTE_FILE="secrets.env.tar.gz"
|
||||
LOCAL_SECRETS_DIR="/data/secrets"
|
||||
ARCHIVE_PATH="$LOCAL_SECRETS_DIR/$REMOTE_FILE"
|
||||
PASSWORD_FILE="$LOCAL_SECRETS_DIR/secrets.env"
|
||||
|
||||
# Скачиваем файл с удаленного сервера
|
||||
rsync -avz --progress $REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/$REMOTE_FILE $LOCAL_SECRETS_DIR
|
||||
|
||||
# Проверяем успешность скачивания
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Ошибка: не удалось скачать файл $REMOTE_FILE."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Проверяем, существует ли файл $PASSWORD_FILE
|
||||
if [ ! -f "$PASSWORD_FILE" ]; then
|
||||
echo "Ошибка: файл с паролем $PASSWORD_FILE не найден."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Извлекаем пароль из файла
|
||||
PASSWORD=$(cat "$PASSWORD_FILE")
|
||||
|
||||
# Проверяем, существует ли папка $LOCAL_SECRETS_DIR
|
||||
if [ -d "$LOCAL_SECRETS_DIR" ]; then
|
||||
# Переименовываем старую папку
|
||||
mv "$LOCAL_SECRETS_DIR" "${LOCAL_SECRETS_DIR}_old"
|
||||
fi
|
||||
|
||||
# Создаем новую папку
|
||||
mkdir -p "$LOCAL_SECRETS_DIR"
|
||||
|
||||
# Распаковываем и расшифровываем файл в новую папку
|
||||
cd "$LOCAL_SECRETS_DIR"
|
||||
echo "$PASSWORD" | gpg --batch --yes --passphrase-fd 0 -d "$ARCHIVE_PATH" | tar -xz
|
||||
|
||||
# Проверяем успешность распаковки
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Ошибка: не удалось распаковать файл $REMOTE_FILE."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Файл $REMOTE_FILE успешно скачан, расшифрован и распакован в $LOCAL_SECRETS_DIR."
|
27
ssh-copy-origin.sh
Normal file
27
ssh-copy-origin.sh
Normal file
@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ "$(id -u)" != "0" ]; then
|
||||
echo -e "\033[31mThis script requires superuser rights.\033[0m"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
echo "Please provide SERVER_HOST as argument"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
REMOTE_USER="root"
|
||||
SERVER_HOST=$1
|
||||
SECRETS_PATH=/data/secrets/$SERVER_HOST/$SERVER_HOST.env
|
||||
|
||||
source $SECRETS_PATH
|
||||
|
||||
trap 'echo -e "\033[31mremote.sh: Something went wrong\033[0m"; exit 1' ERR
|
||||
set -e
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
sshpass -p $SERVER_ORIGIN_PASSWORD ssh-copy-id -i ~/.ssh/id_ed25519.pub $REMOTE_USER@$SERVER_ORIGIN_DOMAIN
|
||||
|
||||
trap - ERR
|
||||
echo "SSH public key for server host $SERVER_HOST complete installed on $SERVER_ORIGIN_DOMAIN"
|
Loading…
Reference in New Issue
Block a user