Update Linux/SSH/README.md

This commit is contained in:
2025-01-05 09:17:01 +00:00
parent 2828182074
commit 14667c0ced

View File

@@ -3,7 +3,8 @@
```bash
#!/bin/bash
printf "\033c" # Bildschirm löschen zu Beginn
# Bildschirm löschen (Kompatibel mit Strg+L)
printf "\033c"
SSH_CONFIG_DIR="/etc/ssh/sshd_config.d"
SSH_MAIN_CONFIG="/etc/ssh/sshd_config"
@@ -18,14 +19,14 @@ BLUE='\033[1;34m'
WHITE='\033[1;37m'
RESET='\033[0m'
# Punkt-Spinner (Docker-Stil)
# Rotierender Kreis-Spinner
spinner() {
local pid=$1
local delay=0.15
local frames=('. ' '.. ' '...')
while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do
for frame in "${frames[@]}"; do
printf " [%s] " "$frame"
local delay=0.1
local spinstr='|/-\'
while kill -0 $pid 2> /dev/null; do
for i in {0..3}; do
printf " [%c] " "${spinstr:i:1}"
sleep $delay
printf "\b\b\b\b\b\b"
done
@@ -50,9 +51,17 @@ install_package() {
local package=$1
local cmd=$2
warn "Installiere $package..."
$cmd &> /dev/null &
spinner $!
log "$package wurde erfolgreich installiert."
( $cmd &> /dev/null ) 2>&1 & # Ausgaben vollständig unterdrücken
disown # Prozess von der Shell trennen, keine Ausgabe von [1] 3562
local pid=$!
spinner $pid
wait $pid
if [ $? -eq 0 ]; then
log "$package wurde erfolgreich installiert."
else
error "Fehler bei der Installation von $package."
exit 1
fi
}
# Überprüfe und installiere sudo, falls nicht vorhanden
@@ -94,7 +103,7 @@ fi
# Generiere fehlende Host-Schlüssel (Ed25519)
if [ ! -f "$ED25519_KEY" ]; then
warn "Host-Schlüssel fehlt. Generiere ssh_host_ed25519_key..."
sudo ssh-keygen -t ed25519 -f $ED25519_KEY -N "" &> /dev/null &
( sudo ssh-keygen -t ed25519 -f $ED25519_KEY -N "" &> /dev/null ) 2>&1 &
spinner $!
sudo chown root:root $ED25519_KEY
sudo chmod 600 $ED25519_KEY
@@ -127,7 +136,7 @@ for user in $SSH_USERS; do
log "Benutzer $user existiert."
VALID_USERS+="$user "
else
echo -en "${BLUE}Benutzer $user existiert nicht. Soll dieser erstellt werden? ${YELLOW}[${WHITE}y/n${YELLOW}]${RESET}: "
echo -en "${BLUE}Benutzer ${WHITE}$user${BLUE} existiert nicht. Soll dieser erstellt werden? ${YELLOW}[${WHITE}y/n${YELLOW}]${RESET}: "
read CREATE_USER
if [ "$CREATE_USER" == "y" ]; then
sudo adduser $user
@@ -142,7 +151,7 @@ for user in $SSH_USERS; do
sudo chmod 700 /home/$user/.ssh
sudo chmod 600 /home/$user/.ssh/authorized_keys
echo -en "${BLUE}Möchtest du einen SSH Public Key für $user hinzufügen? ${YELLOW}[${WHITE}y/n${YELLOW}]${RESET}: "
echo -en "${BLUE}Möchtest du einen SSH Public Key für ${WHITE}$user${BLUE} hinzufügen? ${YELLOW}[${WHITE}y/n${YELLOW}]${RESET}: "
read ADD_KEY
if [ "$ADD_KEY" == "y" ]; then
echo -en "${BLUE}Füge den SSH Public Key hier ein: ${RESET}"
@@ -171,5 +180,5 @@ EOL
warn "Prüfe SSH-Konfiguration..."
sudo sshd -t && sudo systemctl restart sshd && log "SSH-Dienst erfolgreich neu gestartet."
log "Setup abgeschlossen! Nur folgende Benutzer dürfen sich per SSH anmelden: $VALID_USERS"
log "Setup abgeschlossen! Nur folgende Benutzer dürfen sich per SSH anmelden: ${WHITE}$VALID_USERS"
```