This commit is contained in:
leo 2024-08-05 05:17:31 +05:00
parent 2ee6e8bf7c
commit 2d86500462
2 changed files with 15 additions and 18 deletions

View File

@ -21,32 +21,33 @@ export DEBIAN_FRONTEND=noninteractive
source $SECRETS_PATH source $SECRETS_PATH
#mkdir -p /data
#chown usradmin:usradmin /data
#chmod 770 /data
#mkdir -p /backups
#chown usradmin:usradmin /backups
#chmod 770 /backups
#scp install.sh $REMOTE_USER@$BACKUP_SERVER_HOST:/tmp/install.sh
if [ -f ~/.ssh/id_ed25519 ]; then if [ -f ~/.ssh/id_ed25519 ]; then
echo "SSH key already exists: ~/.ssh/id_ed25519" echo "SSH key already exists: ~/.ssh/id_ed25519"
else else
ssh-keygen -t ed25519 -C "$SERVER_NAME" -f ~/.ssh/id_ed25519 -N "" ssh-keygen -t ed25519 -C "$SERVER_NAME" -f ~/.ssh/id_ed25519 -N ""
fi fi
apt install -y sshpass apt-get update -y install -y sshpass
# Install public SSH key from HOST to ORIGIN: # Install public SSH key from HOST to ORIGIN:
echo "Add public key to origin server..." echo "Add public key to origin server..."
sshpass -p $SERVER_ORIGIN_PASSWORD ssh-copy-id -i ~/.ssh/id_ed25519.pub $REMOTE_USER@$SERVER_ORIGIN_DOMAIN sshpass -p $SERVER_ORIGIN_PASSWORD ssh-copy-id -i ~/.ssh/id_ed25519.pub -o StrictHostKeyChecking=no $REMOTE_USER@$SERVER_ORIGIN_DOMAIN
echo "Add public key to gitea app..." echo "Add public key to gitea app..."
SSH_PUBLIC_KEY=$(cat ~/.ssh/id_ed25519.pub) SSH_PUBLIC_KEY=$(cat ~/.ssh/id_ed25519.pub)
# Get keys list from gitea API:
keys=$(curl -X GET -H "Authorization: token $GITEA_API_ADD_SSH_KEY" "https://$GITEA_DOMAIN/api/v1/user/keys")
# Search key:
existing_key_id=$(echo $keys | jq -r ".[] | select(.title == \"$SERVER_NAME\") | .id")
# If finded, remove it:
if [ -n "$existing_key_id" ]; then
curl -X DELETE -H "Authorization: token $GITEA_API_ADD_SSH_KEY" "https://$GITEA_DOMAIN/api/v1/user/keys/$existing_key_id"
fi
curl -X POST \ curl -X POST \
"https://$GITEA_DOMAIN/api/v1/user/keys" \ "https://$GITEA_DOMAIN/api/v1/user/keys" \
-H "Authorization: token $GITEA_API_ADD_SSH_KEY" \ -H "Authorization: token $GITEA_API_ADD_SSH_KEY" \
@ -77,9 +78,5 @@ cd /data/$SERVER_NAME
bash /data/$SERVER_NAME/install.sh $SERVER_HOST bash /data/$SERVER_NAME/install.sh $SERVER_HOST
# SSH config:
#bash ssh-port.sh $SSH_PORT
#bash ssh-pw.sh n
trap - ERR trap - ERR
echo "Install complete. Please exit and login again on port $SSH_PORT with ssh key " echo "Install complete. Please exit and login again on port $SSH_PORT with ssh key "

View File

@ -56,7 +56,7 @@ ssh -p $SSH_PORT $REMOTE_USER@$SERVER_HOST "mkdir -p $SECRETS_SAFE"
ssh $REMOTE_USER@$SERVER_ORIGIN_DOMAIN "cat $SECRETS_PATH" | ssh $REMOTE_USER@$SERVER_HOST -p $SSH_PORT "cat > $SECRETS_PATH" ssh $REMOTE_USER@$SERVER_ORIGIN_DOMAIN "cat $SECRETS_PATH" | ssh $REMOTE_USER@$SERVER_HOST -p $SSH_PORT "cat > $SECRETS_PATH"
# Run secrets-decrypt script for decrypt secrets archive on target host: # Run secrets-decrypt script for decrypt secrets archive on target host:
ssh $REMOTE_USER@$SERVER_HOST "bash /tmp/secrets-decrypt.sh $SAFE_PASSWORD $SECRETS_PATH $SECRETS_DIR" ssh $REMOTE_USER@$SERVER_HOST "bash /tmp/secrets-decrypt.sh $SAFE_PASSWORD $SECRETS_PATH $SECRETS_DIR/$SERVER_HOST"
# Run install script on target host: # Run install script on target host:
ssh $REMOTE_USER@$SERVER_HOST "bash /tmp/install.sh $SERVER_HOST" ssh $REMOTE_USER@$SERVER_HOST "bash /tmp/install.sh $SERVER_HOST"