#!/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 trap 'echo -e "\033[31mSomething went wrong\033[0m"; exit 1' EXIT set -e # Путь к конфигурационному файлу sshd SSHD_CONFIG="/etc/ssh/sshd_config" # Функция включения или отключения доступа по паролю toggle_password_access() { local enable=$1 if [ "$enable" == "y" ]; then sudo sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication yes/' $SSHD_CONFIG sudo sed -i 's/^PasswordAuthentication no/PasswordAuthentication yes/' $SSHD_CONFIG else sudo sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication no/' $SSHD_CONFIG sudo sed -i 's/^PasswordAuthentication yes/PasswordAuthentication no/' $SSHD_CONFIG fi } # Бэкапим текущий конфигурационный файл sudo cp $SSHD_CONFIG $SSHD_CONFIG.backup # Применение изменений toggle_password_access "$1" # Перезапуск службы sshd для применения изменений sudo systemctl restart sshd trap - EXIT # Уведомление о завершении if [ "$1" == "y" ]; then echo "Password authentication has been enabled" else echo "Password authentication has been disabled" fi