From 109fa1a71825dc2555f94bcd11be5712f17ce9e3 Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Wed, 4 Dec 2024 18:23:03 +0100 Subject: [PATCH] Create new ssh key implicitly --- scripts/Common/OS/backup.fish | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/scripts/Common/OS/backup.fish b/scripts/Common/OS/backup.fish index 5d432edc..00943f83 100644 --- a/scripts/Common/OS/backup.fish +++ b/scripts/Common/OS/backup.fish @@ -16,10 +16,17 @@ function backupAction -V dir if [ -z "$VALHALLA_BACKUP_DIR" ] if fish "$dir/../../../lib/modules/partition/confirm.fish" "Do you wish to store the backup on an SSH server?" n + set -l keyVar VALHALLA_BACKUP_SERVER_KEY + set -l keyPath ~root/.config/port-valhalla/valhalla read -xP "Please specify the host name of the SSH server: " VALHALLA_BACKUP_SERVER read -xP "Please specify the port of the SSH server (default 22): " VALHALLA_BACKUP_SERVER_PORT read -xP "Please specify the name of the user to log in to the SSH server: " VALHALLA_BACKUP_SERVER_USER - read -xP "Please specify the path to the key file for logging in to the SSH server: " VALHALLA_BACKUP_SERVER_KEY + + if [ -z "$$keyVar" ] + set -gx "$keyVar" "$keyPath" + sudo mkdir -p (dirname "$keyPath") + sudo ssh-keygen -f "$$keyVar" -N "" + end if [ -z "$VALHALLA_BACKUP_SERVER_PORT" ] set -x VALHALLA_BACKUP_SERVER_PORT 22 @@ -29,6 +36,9 @@ function backupAction -V dir echo "$(tput setaf 3)==== WARNING ====$(tput sgr0)" echo "For a seamless experience, please make sure that you are able to establish an unattended ssh connection using key authentication." echo + echo "Your public key is:" + sudo cat "$VALHALLA_BACKUP_SERVER_KEY.pub" + echo echo "$(tput bold)This command should succeed without user interaction:$(tput sgr0)" echo "sudo ssh -o PasswordAuthentication=no -i $(string escape -- "$VALHALLA_BACKUP_SERVER_KEY") -p $VALHALLA_BACKUP_SERVER_PORT $VALHALLA_BACKUP_SERVER true" read -P "Press enter once you're done: "