Ceci est une ancienne révision du document !
Addsysadmin
Comme indiqué sur configurer_ssh_sur_ses_serveurs, il faut avoir un compte personnalisé par sysadmin sur chaque serveur.
Mais si vous avez plusieurs machines, administrées par les mêmes personnes, répéter ces actions est un peu lassant. À défaut d'avoir un script Ansible fonctionnel, vous pouvez simplement lancer ce script après avoir renseigné les variables ksysadmin et les nom d'admin.
Avant tout :
apt install sudo groupadd wheel visudo
Ajouter la ligne suivante :
wheel ALL=(ALL:ALL) NOPASSWD: ALL
Puis adaptez le script et lancez-le :
Un petit souci actuellement, j'ai oublié de configurer le mot de passe, mais il faut quand même rentrer l'actuel pour le changer… donc ça éjecte (pas possible d'avoir un mot de passe vide). À mettre à jour.
#!/bin/bash
# Créer chaque utilisateur et lui mettra sa clé ssh où il faut (rien d'indécent)
# Définitions des sysadmins
ksysadmin=('nom_admin1' 'nom_admin2')
#Définition d'un tableau = un user, ses clés
nom_admin1=('ssh-rsa AAAAB3NzaC admin@moi' 'ecdsa-sha2-nistp521 AAAAE2VjZ adminmoi@moi' )
nom_admin2=('ssh-ed25519 AAAAC3 admini@moiaussi')
# création user dans le groupe wheel
# -m : crée un home ; -U : crée un groupe du même nom ; -G : ajoute aux groupes
for toto in "${ksysadmin[@]}"
do
useradd $toto -m -U -G wheel,www-data
# forcer le changement de mot de passe à la première connexion
chage -d 0 $toto
# créer le dossier qui va bien et son fichier pour ssh
mkdir /home/$toto/.ssh
touch /home/$toto/.ssh/authorized_keys2
#Variable intermédiaire pour que ça passe
totobis="$toto"[@]
# Sa clé ssh
for sshkey in "${!totobis}"
do
echo $sshkey >> /home/$toto/.ssh/authorized_keys2
done
chown -R "$toto": /home/$toto/.ssh
chmod 0700 /home/$toto/.ssh/
chmod 0600 /home/$toto/.ssh/authorized_keys2
done





