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) ALL

Puis adaptez le script et lancez-le :

#!/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
# -p : mot de passe, nécessaire sinon impossible de se co la première fois...
# -s /bin/bsh : évite l'erreur d'un shell non déclaré et bloquant les utilisatrices
for toto in "${ksysadmin[@]}"
do
	useradd $toto -m -U -G wheel,www-data -p MotdePa55e -s /bin/bash
	# 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