From 2d86500462dbee820f34ca3c23810f7d5d90af01 Mon Sep 17 00:00:00 2001 From: leo <426742@gmail.com> Date: Mon, 5 Aug 2024 05:17:31 +0500 Subject: [PATCH] changes --- install.sh | 31 ++++++++++++++----------------- remote.sh | 2 +- 2 files changed, 15 insertions(+), 18 deletions(-) diff --git a/install.sh b/install.sh index afc22a8..710cef2 100644 --- a/install.sh +++ b/install.sh @@ -21,32 +21,33 @@ export DEBIAN_FRONTEND=noninteractive 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 echo "SSH key already exists: ~/.ssh/id_ed25519" else ssh-keygen -t ed25519 -C "$SERVER_NAME" -f ~/.ssh/id_ed25519 -N "" fi -apt install -y sshpass +apt-get update -y install -y sshpass # Install public SSH key from HOST to ORIGIN: 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..." 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 \ "https://$GITEA_DOMAIN/api/v1/user/keys" \ -H "Authorization: token $GITEA_API_ADD_SSH_KEY" \ @@ -77,9 +78,5 @@ cd /data/$SERVER_NAME bash /data/$SERVER_NAME/install.sh $SERVER_HOST -# SSH config: -#bash ssh-port.sh $SSH_PORT -#bash ssh-pw.sh n - trap - ERR echo "Install complete. Please exit and login again on port $SSH_PORT with ssh key " \ No newline at end of file diff --git a/remote.sh b/remote.sh index 32e7e0b..76b3f3f 100644 --- a/remote.sh +++ b/remote.sh @@ -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" # 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: ssh $REMOTE_USER@$SERVER_HOST "bash /tmp/install.sh $SERVER_HOST"