Passwordless SSH
Title
Before proceeding make sure Key-Based Authentication (see: Persistence#SSH Keys) is configured!
#!/bin/bash
# Check if the script is run as root
if [ "$(id -u)" -ne 0 ]; then
echo "This script must be run as root. Use 'sudo' to run it." >&2
exit 1
fi
# Display the important message
echo "IMPORTANT: First Setup SSH Key-Based Authentication AND TEST IT!"
# Ask for user confirmation to proceed
read -p "Have you set up and tested SSH key-based authentication? (y/N) " response
# Check the user's response
case "$response" in
[yY][eE][sS]|[yY])
# The user agreed, proceed with the script
echo "Proceeding with SSH configuration..."
;;
*)
# Any other response means abort
echo "Operation aborted. Please set up and test SSH key-based authentication before running this script again."
exit 1
;;
esac
# Define the target file path
TARGET_FILE="/etc/ssh/sshd_config.d/10-passwordless_login.conf"
# Append the lines to the file
echo -e "ChallengeResponseAuthentication no\nPasswordAuthentication no" | tee -a "$TARGET_FILE" > /dev/null
# Restart the SSH service to apply changes. This command might vary based on your system.
systemctl restart sshd
Relevant Note(s):