Pour ceux que ça pourraient intéresser, j’ai refait le hook. Si vous voyez des corrections ou améliorations à apporter, n’hésitez pas
#!/bin/bash
# A placer dans /etc/yunohost/hooks.d/conf_regen/
# Yunohost et SSH : voir https://yunohost.org/en/ssh
# Yunohost et Sécurité : voir https://yunohost.org/en/security
# Variables
USERS=(user1 user2) # liste des utilsateurs, à séparer par des espaces.
PORT=22 # Port SSH (22 par défaut)
PWD=False # (True|False) : True pour autoriser l'authentification par mot de passe, False pour forcer l'authentification par clef
COMPATIBILITY=modern # (intermediate|modern) # Gestion de TLS 1.2, voir https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28default.29
for i in "${USERS[@]}" # on boucle sur les différents utilisateurs de l'array USERS
do
if [[ $(yunohost user list | grep "username: $i") != "" ]];then # si le user est un user yunohost
if [[ $(getent group ssh.main | grep $i) == "" ]]; then #Si le user n'appartient pas au groupe LDAP ssh
yunohost user permission add ssh $i #on ajoute le user au groupe ssh.main (groupe LDAP)
fi
elif [[ $(getent group ssh.app | grep $i) == "" ]]; then #Si l'utilisateur n'appartient pas au groupe UNIX ssh
usermod -a -G ssh.app $i #on ajoute le user au groupe ssh.app (groupe UNIX)
fi
done
# MaJ du port ssh
if [[ $(grep "Port $PORT" /etc/ssh/sshd_config) == "" ]]; then #test si le port ssh correspond à celui de la variable $PORT
yunohost settings set security.ssh.port -v $PORT
fi
# Révocation de la possibilité de se connecter avec un password.
#****** /!\ si $PWD=False, assurez vous d'avoir au préalable ajouté une clef à vos users ! /!\ ******
if [[ $(yunohost settings get security.ssh.password_authentication) != "$PWD" ]]; then #test si la possibilité se connecter en SSH avec un mot de passe correspond à la variable $PWD
if [[ $PWD == "False" ]]; then
yunohost settings set security.ssh.password_authentication -v no #on force l'authentification par clef
elif [[ $PWD == "True" ]]; then
yunohost settings set security.ssh.password_authentication -v yes #on autorise l'authentification par mot de passe
fi
fi
# Gestion TLS 1.2
if [[ $(yunohost settings get security.ssh.compatibility) != "$COMPATIBILITY" ]]; then #test si on est déjà dans le mode de compatibilité voulu
yunohost settings set security.ssh.compatibility -v $COMPATIBILITY
fi