SSH PasswordAuthentication changer
This commit is contained in:
parent
05ae7c7409
commit
147c3363f7
|
@ -0,0 +1,65 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
CONFIG_FILE="/etc/ssh/sshd_config"
|
||||||
|
BACKUP_FILE="/etc/ssh/sshd_config.bak"
|
||||||
|
|
||||||
|
# Nur root darf Änderungen machen
|
||||||
|
if [ "$EUID" -ne 0 ] && [ "$1" != "-s" ]; then
|
||||||
|
echo "Bitte mit sudo ausführen."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Funktion: Aktuellen Status anzeigen
|
||||||
|
show_status() {
|
||||||
|
grep -E "^PasswordAuthentication" "$CONFIG_FILE" | awk '{ print $2 }'
|
||||||
|
}
|
||||||
|
|
||||||
|
# Funktion: Setzen von PasswordAuthentication
|
||||||
|
set_password_auth() {
|
||||||
|
VALUE=$1
|
||||||
|
echo "Setze PasswordAuthentication auf '$VALUE' ..."
|
||||||
|
|
||||||
|
# Backup
|
||||||
|
cp "$CONFIG_FILE" "$BACKUP_FILE"
|
||||||
|
|
||||||
|
# Setzen oder hinzufügen
|
||||||
|
if grep -q "^PasswordAuthentication" "$CONFIG_FILE"; then
|
||||||
|
sed -i "s/^PasswordAuthentication.*/PasswordAuthentication $VALUE/" "$CONFIG_FILE"
|
||||||
|
else
|
||||||
|
echo "PasswordAuthentication $VALUE" >> "$CONFIG_FILE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# SSH-Dienst neustarten
|
||||||
|
if systemctl is-active --quiet ssh; then
|
||||||
|
systemctl restart ssh
|
||||||
|
elif systemctl is-active --quiet sshd; then
|
||||||
|
systemctl restart sshd
|
||||||
|
else
|
||||||
|
echo "SSH-Dienst konnte nicht gefunden werden."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Done. PasswordAuthentication ist jetzt '$VALUE'."
|
||||||
|
}
|
||||||
|
|
||||||
|
# Parameter auswerten
|
||||||
|
case "$1" in
|
||||||
|
-y)
|
||||||
|
set_password_auth "yes"
|
||||||
|
;;
|
||||||
|
-n)
|
||||||
|
set_password_auth "no"
|
||||||
|
;;
|
||||||
|
-s)
|
||||||
|
STATUS=$(show_status)
|
||||||
|
echo "Aktueller Status von PasswordAuthentication: ${STATUS:-(nicht gesetzt)}"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Benutzung:"
|
||||||
|
echo " sudo ./password -y # aktiviert PasswordAuthentication"
|
||||||
|
echo " sudo ./password -n # deaktiviert PasswordAuthentication"
|
||||||
|
echo " ./password -s # zeigt aktuellen Status (kein sudo nötig)"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
NAME
|
||||||
|
ssh_password - verwaltet SSH PasswordAuthentication
|
||||||
|
|
||||||
|
SYNOPSIS
|
||||||
|
sudo ./ssh_password -y
|
||||||
|
sudo ./ssh_password -n
|
||||||
|
./ssh_password -s
|
||||||
|
|
||||||
|
BESCHREIBUNG
|
||||||
|
Dieses Skript aktiviert oder deaktiviert die Option PasswordAuthentication
|
||||||
|
in /etc/ssh/sshd_config und startet anschließend den SSH-Dienst neu.
|
||||||
|
|
||||||
|
OPTIONEN
|
||||||
|
-y Setzt PasswordAuthentication auf 'yes'
|
||||||
|
-n Setzt PasswordAuthentication auf 'no'
|
||||||
|
-s Zeigt den aktuellen Status (kein sudo nötig)
|
||||||
|
|
||||||
|
HINWEIS
|
||||||
|
Änderungen erfordern root-Rechte.
|
||||||
|
Vor jeder Änderung wird ein Backup der sshd_config erstellt.
|
||||||
|
|
Loading…
Reference in New Issue