Files
omarchy/bin/omarchy-remove-security-sshd
T

39 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# omarchy:summary=Disable the OpenSSH server, remove standard firewall rules, and optionally remove authorized keys
# omarchy:requires-sudo=true
set -e
AUTHORIZED_KEYS="$HOME/.ssh/authorized_keys"
echo -e "\e[32mRemoving SSH server access.\n\e[0m"
echo "Stopping and disabling the OpenSSH server..."
sudo systemctl disable --now sshd.service 2>/dev/null || true
if omarchy-cmd-present ufw; then
echo "Removing standard SSH firewall rules..."
sudo ufw --force delete limit 22/tcp >/dev/null
sudo ufw --force delete allow 22/tcp >/dev/null
sudo ufw --force delete allow ssh >/dev/null
sudo ufw --force delete limit ssh >/dev/null
sudo ufw --force delete allow to any app SSH >/dev/null
sudo ufw --force delete limit to any app SSH >/dev/null
sudo ufw reload >/dev/null
echo "Standard SSH firewall rules removed. Review custom firewall rules separately."
fi
if [[ -s $AUTHORIZED_KEYS ]]; then
echo
if gum confirm "Also remove all authorized SSH keys ($AUTHORIZED_KEYS)?"; then
rm -f "$AUTHORIZED_KEYS"
echo "Authorized keys removed."
else
echo "Keeping authorized keys."
fi
fi
echo -e "\e[32m\nThe SSH server has been disabled.\e[0m"
echo "The openssh package remains installed since it also provides the ssh client."