changes
This commit is contained in:
parent
2aa19dc62a
commit
bbbe044dac
@ -13,14 +13,18 @@ set -e
|
|||||||
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
# Prepare app environment:
|
||||||
apt update -y
|
apt update -y
|
||||||
apt upgrade -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
|
timedatectl set-timezone Asia/Yekaterinburg
|
||||||
echo "Timezone changed:"
|
echo "Timezone changed:"
|
||||||
timedatectl
|
timedatectl
|
||||||
|
|
||||||
|
# add new sudo user:
|
||||||
if id "$USERNAME" &>/dev/null; then
|
if id "$USERNAME" &>/dev/null; then
|
||||||
echo "User $USERNAME already exists"
|
echo "User $USERNAME already exists"
|
||||||
else
|
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