Drthrax74
Chevalier Jedi
Proxmox - Base d'utilisation
Présentation:
Ce tutorial à pour objectif :
- Créer un utilisateur pour se connecter sur le Serveur Linux via une clés SSH. (La modification de l'authentification SSH ne sera pas expliquer)
- Créer des Groupes prédéfini.
- Créer un Utilisateur Administrateurs PAM.
- L'ensemble des scripts peut être relancer. (Il faudra veiller à modifier l'ID de l'utilisateur !)
Etape 0: Proxmox fonctionnel
Etape 1: Se connecter en SSH sur le serveur
Bash:
ssh root@<IP Proxmox> -p 22
Etape 2 : Edition du Dépôt pour ceux qui ont pas Licence
Pour ceux qui n'ont pas de licence Proxmox .
Bash:
# Récupérer le nom de la Distribution (Bullseye, Buster ...)
RELEASE=$(cat /etc/apt/sources.list | cut -d "/" -f 4 |cut -d " " -f 2 | head -n 1)
# Suppression du dépôt payant Proxmox
rm /etc/apt/sources.list.d/pve-enterprise.list;
# Proxmox VE No-Subscription Repository
echo "deb http://download.proxmox.com/debian/pve $RELEASE pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list;
Etape 3: Mettre à jour Proxmox
Bash:
# Mise à jour de la liste des paquets
apt update;
# Installation de Sudo
apt install -y sudo;
Important
Une machine Linux a ses utilisateurs sur la machine (HOST) et Proxmox a ses utilisateurs.
Pour éviter toute erreur, le compte utilisateur Promox aura comme nom : <USER>@pam.
Etape 4: Création d'un Utilisateur sur Proxmox (Host)
Bash:
#########################################################################################################
# Nettoyage de la console #
###########################
clear;
#########################################################################################################
# Déclaration des variables #
#############################
# Nom d'utilisateur et mot de passe du compte:
export UTILISATEUR=SuperAdmin
export PASSWORD=MyPassw0rd2023@13
export USERID=1000
#########################################################################################################
# Création du compte #
######################
/usr/sbin/useradd \
--home-dir /home/$UTILISATEUR \
--base-dir /home/$UTILISATEUR \
--uid $USERID \
--no-user-group \
--shell /bin/bash \
--create-home $UTILISATEUR;
#########################################################################################################
# Définir le mot de passe du compte #
#####################################
(echo "$UTILISATEUR:$PASSWORD") | chpasswd;
#########################################################################################################
# Sudoers son utilisateur #
###########################
# echo "$UTILISATEUR ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/$UTILISATEUR;
#########################################################################################################
# Vérification #
################
id $UTILISATEUR;
Etape 5: Sécurisation de la connexion SSH (Importe Clé SSH Uniquement)
Modifier les variables d'environnement concernant les CLES SSH.
PUBLICKEY=""
PRIVATE=""
Bash:
#########################################################################################################
# Nettoyage de la console #
###########################
clear;
#########################################################################################################
# Déclaration des variables #
#############################
UTILISATEUR=$(id 1000 | cut -d "(" -f 2 |cut -d ")" -f 1)
#########################################################################################################
# Déclaration des Clés SSH #
############################
#
# Clé Publique
PUBLICKEY=""
#
# Clé privée (Enorme Pavé = normal)
PRIVATE=""
#########################################################################################################
# Création de l'architecture #
##############################
runuser -l $UTILISATEUR -c "rm -r ~/.ssh";
runuser -l $UTILISATEUR -c "mkdir ~/.ssh";
runuser -l $UTILISATEUR -c "touch ~/.ssh/authorized_keys";
runuser -l $UTILISATEUR -c "touch ~/.ssh/id_rsa";
#########################################################################################################
# Inscription des Clés #
#################
# Clé Publique
runuser -l $UTILISATEUR -c "echo '$PUBLICKEY' > /home/$UTILISATEUR/.ssh/authorized_keys"
# Clé Privée
runuser -l $UTILISATEUR -c "echo '$PRIVATE' > /home/$UTILISATEUR/.ssh/id_rsa"
#########################################################################################################
Etape 6: Création de l'utilisateur Proxmox (PAM !)
Mon script crée des groupes prédéfinis pour une simplification des permissions
Ensuite pour s'authentifier, il suffit d'aller sur la page de Proxmox de choisir comme Royaume: "Linux PAM standard authentication".
Bash:
#########################################################################################################
# Nettoyage de la console #
###########################
clear;
#########################################################################################################
# Déclaration des variables #
#############################
UTILISATEUR="BOB@pam"
MOTDEPASSE="LEPONGE"
EMAIL="BOB@LEPONGE.com"
PRENOM="BOB"
NOM="LEPONGE"
#########################################################################################################
# Nettoyage de Proxmox #
########################
pveum group del Administrateurs 2>/dev/null;
pveum group del Audit 2>/dev/null;
pveum group del Stockage 2>/dev/null;
pveum group del Utilisateurs 2>/dev/null;
pveum group del VMadmin 2>/dev/null;
pveum user delete $UTILISATEUR 2>/dev/null;
#########################################################################################################
# Gestion des Utilisateurs #
############################
#
# Groupes:
pveum group add Administrateurs -comment "Groupe des administrateurs"
pveum group add Audit -comment "Groupe des auditeurs"
pveum group add Stockage -comment "Groupe du stockage"
pveum group add Utilisateurs -comment "Groupe des utilisateurs"
pveum group add VMadmin -comment "Groupe des Admins des VM"
#
# Utilisateur:
pveum user add "$UTILISATEUR" -email "$EMAIL" -enable 1 -first "$PRENOM" -lastname "$NOM";
#
# Mot de passe:
(echo "$MOTDEPASSE"; echo "$MOTDEPASSE") |pveum passwd $UTILISATEUR
#
#########################################################################################################
# Edition des permissions du Groupe #
####################################
pveum acl modify / -group Administrateurs -role Administrator;
pveum acl modify / -group Audit -role PVEAuditor;
pveum acl modify / -group Stockage -role PVEDatastoreAdmin;
pveum acl modify / -group Utilisateurs -role PVEVMUser;
pveum acl modify / -group VMadmin -role PVEVMAdmin;
#########################################################################################################
# Ajout de l'Utilisateur dans le Groupe #
#########################################
pveum user modify "$UTILISATEUR" -group Administrateurs;
# pveum user modify "$UTILISATEUR" -group Utilisateurs;
# pveum user modify "$UTILISATEUR" -group Audit;
# pveum user modify "$UTILISATEUR" -group VMadmin;
# pveum user modify "$UTILISATEUR" -group Stockage;
Rôle par défaut:
Groupe | Description du Groupe |
---|---|
Administrator | A tous les privilèges |
PVEAdmin | Peut effectuer la plupart des tâches, mais n'a pas le droit de modifier les paramètres système (Sys.PowerMgmt, Sys.Modify, Realm.Allocate) |
PVEDatastoreAdmin | Créer et allouer un espace de sauvegarde et des modèles |
PVEDatastoreUser | Allouer de l'espace de sauvegarde et afficher le stockage |
PVEPoolAdmin | Allouer des pools |
PVESysAdmin | ACL utilisateur, audit, console système et journaux systèmes |
PVETemplateUser | Voir et cloner les modèles (Template) |
PVEUserAdmin | Gestion des utilisateurs |
PVEVMAdmin | Administrer entièrement les machines virtuelles |
PVEVMUser | Afficher, sauvegarder, configurer CD-ROM, console VM, gestion de l'alimentation VM |
PVEAuditor | Accès en lecture seule |
NoAccess | Aucun Accès |
PVEPoolUser : Permet de voir les Pools
Dernière édition: