This commit is contained in:
leo 2024-08-05 07:01:48 +05:00
parent 076753e682
commit c913d1780b
2 changed files with 17 additions and 27 deletions

View File

@ -14,7 +14,7 @@ set -e
export DEBIAN_FRONTEND=noninteractive
echo "Upgrade packages..."
apt-get update -y
apt-get update
apt-get upgrade -y
echo "Install apps..."

View File

@ -5,49 +5,39 @@ if [ "$(id -u)" != "0" ]; then
exit 0
fi
# Проверка наличия одного аргумента
if [ "$#" -ne 1 ]; then
echo "Usage: $0 <y/n>"
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
ENABLE_PASSWORD=$1
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
}
trap 'echo -e "\033[31mSomething went wrong\033[0m"; exit 1' ERR
set -e
# Бэкапим текущий конфигурационный файл
sudo cp $SSHD_CONFIG $SSHD_CONFIG.backup
echo "Backup $SSHD_CONFIG..."
cp $SSHD_CONFIG $SSHD_CONFIG.backup
# Применение изменений
toggle_password_access "$1"
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
# Перезапуск службы sshd для применения изменений
sudo systemctl restart sshd
echo "Restart SSH for apply password $1"
systemctl daemon-reload
systemctl restart ssh
trap - ERR
trap - EXIT
# Уведомление о завершении
if [ "$1" == "y" ]; then
echo "Password authentication has been enabled"
else