#!/bin/bash if [ "$(id -u)" != "0" ]; then echo -e "\033[31mThis script requires superuser rights\033[0m" exit 0 fi if [ "$#" -ne 1 ]; then echo "Usage: $0 " exit 1 fi if [ "$1" != "y" ] && [ "$1" != "n" ]; then echo "Invalid argument. Use 'y' to enable password authentication and 'n' to disable it" exit 1 fi ENABLE_PASSWORD=$1 SSHD_CONFIG="/etc/ssh/sshd_config" trap 'echo -e "\033[31mSomething went wrong\033[0m"; exit 1' ERR set -e echo "Backup $SSHD_CONFIG..." cp $SSHD_CONFIG $SSHD_CONFIG.backup if [ "$ENABLE_PASSWORD" == "y" ]; then sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication yes/' $SSHD_CONFIG sed -i 's/^PasswordAuthentication no/PasswordAuthentication yes/' $SSHD_CONFIG else sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication no/' $SSHD_CONFIG sed -i 's/^PasswordAuthentication yes/PasswordAuthentication no/' $SSHD_CONFIG fi echo "Restart SSH for apply password $1" systemctl daemon-reload systemctl restart ssh trap - ERR if [ "$1" == "y" ]; then echo "Password authentication has been enabled" else echo "Password authentication has been disabled" fi