scripts_bash/sshd.sh

62 lines
2.4 KiB
Bash
Raw Permalink Normal View History

2024-09-16 08:08:07 +00:00
#!/bin/bash
# Vérifier si le script est exécuté avec les privilèges root
if [[ $EUID -ne 0 ]]; then
echo "Ce script doit être exécuté en tant que root"
exit 1
fi
# Variables
SSH_DIR="/home/superman/.ssh"
AUTHORIZED_KEYS="$SSH_DIR/authorized_keys"
SSHD_CONFIG="/etc/ssh/sshd_config"
NEW_SSHD_CONFIG="/etc/ssh/sshd_config_new"
# Clé SSH à ajouter (remplace la clé ci-dessous par la tienne)
SSH_KEY="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCfymQEcnZ0mzIGOWtUbj6DBIZxkGESkuCzDTRYXJ4Zc7Kith446/r05KLDA/AoOI5H63RKtiNZ4hnbAxsODz1k94WhkLqtXuvGChUGn9GhIT/DMtSN2kTBpQ8BwFZdgSARpqzGY/RztOBu9P/rZ5Wdlwpo3QhySnCMvuT4/WTyS1gpwGCSRnPbdbQja3Ol3OlrkYnv1PfJHcbZyrFb23XhL10extvOdF8iO7raltCgQFFluX7rkQgJGERiCyS7JrhBzVAzRM1hIYErD7fK6abJ4g1OXz/TU05xlMNlgLIn+0cNjnyZEl0WH3ZeiHt2XHHdkbZSTkbzR7LXG8OGifpFqF4vlb/K4GDaMQpydwb0M9q41cWT+c/WjOudrJtImCxM9OqifOtzqz3+Dirz/MLCbQcDxcgo83pqbS/Q9w/9yLzGfSeKb6m3Yr2WRU4WsFjSD/OSSTX6EJKML4PcGI6qxqO3g9wmrb9enWr3hij01apanRmyVpmix1m3UW3yoE8t8978b7BQJunjnizrOqOgElVMgNelfJAqQPMJBfIr0Gl+pS3avBHFwxaQLbT8Y5Ci0pqWgfVOCgz/SeSt2uOt5VlmIQRT5GNrXDrpj9LMPLKhMui+ljajN07lbAyTaFSgmUhhUbY3QhXnIaeKEGyKYDT8WXX1bDRA4ZQ/haoj7/ekQ=="
# Créer le dossier .ssh si nécessaire
if [ ! -d "$SSH_DIR" ]; then
mkdir -p "$SSH_DIR"
chown superman:superman "$SSH_DIR"
chmod 700 "$SSH_DIR"
echo "Répertoire $SSH_DIR créé."
fi
# Ajouter la clé SSH dans le fichier authorized_keys
echo "$SSH_KEY" >> "$AUTHORIZED_KEYS"
chown superman:superman "$AUTHORIZED_KEYS"
chmod 600 "$AUTHORIZED_KEYS"
echo "Clé SSH ajoutée à $AUTHORIZED_KEYS."
# Renommer le fichier sshd_config existant
if [ -f "$SSHD_CONFIG" ]; then
mv "$SSHD_CONFIG" "/etc/ssh/sshd_config_backup"
echo "Le fichier sshd_config a été renommé en sshd_config_backup."
fi
# Créer un nouveau fichier sshd_config avec les paramètres spécifiés
cat <<EOL > $NEW_SSHD_CONFIG
# Configuration SSH personnalisée
LoginGraceTime 2m
PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no
PermitEmptyPasswords no
EOL
# Remplacer l'ancien fichier sshd_config par le nouveau
mv $NEW_SSHD_CONFIG $SSHD_CONFIG
echo "Nouveau fichier sshd_config créé avec succès."
# Redémarrer le service SSH pour appliquer les changements
echo "Redémarrage du service SSH..."
systemctl restart ssh
# Vérification de l'état du service SSH
if systemctl status ssh | grep -q "active (running)"; then
echo "Le service SSH a été redémarré avec succès."
else
echo "Le redémarrage du service SSH a échoué."
fi