Enhance backup script to set default SSH password and skip key generation if they already exist

This commit is contained in:
gyurix
2025-07-21 14:23:31 +02:00
parent 8c3f6424e0
commit addca92fe7

View File

@@ -15,6 +15,10 @@ if ! id -u "$SSH_USER" >/dev/null 2>&1; then
adduser -D -s /bin/sh -h "/home/$SSH_USER" "$SSH_USER" adduser -D -s /bin/sh -h "/home/$SSH_USER" "$SSH_USER"
# Ensure the user is properly initialized in shadow database # Ensure the user is properly initialized in shadow database
passwd -u "$SSH_USER" 2>/dev/null || true passwd -u "$SSH_USER" 2>/dev/null || true
# Add default ssh password if not set
echo "$SSH_USER:$SSH_PASSWORD" | chpasswd
else
echo "User $SSH_USER already exists."
fi fi
# Create necessary directories # Create necessary directories
@@ -22,13 +26,16 @@ mkdir -p "$SSH_CONFIG_DIR" "$SSH_HOST_KEYS_DIR"
# Generate host keys if they don't exist # Generate host keys if they don't exist
for key_type in rsa ed25519; do for key_type in rsa ed25519; do
key_file="$SSH_HOST_KEYS_DIR/ssh_host_${key_type}_key" if [ -f "$SSH_HOST_KEYS_DIR/ssh_host_${key_type}_key" ]; then
echo "Generating $key_type host key..." echo "Host key for $key_type already exists, skipping generation."
ssh-keygen -t "$key_type" -f "$key_file" -N "" -q continue
else
key_file="$SSH_HOST_KEYS_DIR/ssh_host_${key_type}_key"
echo "Generating $key_type host key..."
ssh-keygen -t "$key_type" -f "$key_file" -N "" -q
fi
done done
# Add default ssh password if not set
echo "$SSH_USER:$SSH_PASSWORD" | chpasswd
cat >"$SSH_CONFIG_FILE" <<EOF cat >"$SSH_CONFIG_FILE" <<EOF
Port $SSH_PORT Port $SSH_PORT