28.6. Configurer une console web pour permettre à un utilisateur authentifié par une carte à puce de se connecter en SSH à un hôte distant sans avoir à s'authentifier à nouveau
Après vous être connecté à un compte d'utilisateur sur la console web RHEL, en tant qu'administrateur du système de gestion des identités (IdM), vous pouvez avoir besoin de vous connecter à des machines distantes en utilisant le protocole SSH
. Vous pouvez utiliser la fonction de délégation restreinte pour utiliser SSH
sans devoir vous authentifier à nouveau.
Cette procédure décrit comment configurer la console Web pour qu'elle utilise la délégation restreinte. Dans l'exemple ci-dessous, la session de la console web s'exécute sur l'hôte myhost.idm.example.com et est configurée pour accéder à l'hôte remote.idm.example.com en utilisant SSH
au nom de l'utilisateur authentifié.
Conditions préalables
-
Vous avez obtenu un ticket d'attribution de ticket (TGT) de l'IdM
admin
. -
root
Vous avez accès à remote.idm.example.com. - Le service de console web est présent dans l'IdM.
- L'hôte remote.idm.example.com est présent dans l'IdM.
La console web a créé un ticket
S4U2Proxy
Kerberos dans la session de l'utilisateur. Pour vérifier que c'est bien le cas, connectez-vous à la console web en tant qu'utilisateur IdM, ouvrez la pageTerminal
et entrez :$ klist Ticket cache: FILE:/run/user/1894000001/cockpit-session-3692.ccache Default principal: user@IDM.EXAMPLE.COM Valid starting Expires Service principal 07/30/21 09:19:06 07/31/21 09:19:06 HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM 07/30/21 09:19:06 07/31/21 09:19:06 krbtgt/IDM.EXAMPLE.COM@IDM.EXAMPLE.COM for client HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM
Procédure
Créez une liste des hôtes cibles auxquels la règle de délégation peut accéder :
Créer une cible de délégation de service :
$ ipa servicedelegationtarget-add cockpit-target
Ajouter l'hôte cible à la cible de délégation :
$ ipa servicedelegationtarget-add-member cockpit-target \ --principals=host/remote.idm.example.com@IDM.EXAMPLE.COM
Autoriser les sessions
cockpit
à accéder à la liste des hôtes cibles en créant une règle de délégation de service et en y ajoutant le principal Kerberos du serviceHTTP
:Créer une règle de délégation de service :
$ ipa servicedelegationrule-add cockpit-delegation
Ajoutez le client de la console web à la règle de délégation :
$ ipa servicedelegationrule-add-member cockpit-delegation \ --principals=HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM
Ajouter la cible de délégation à la règle de délégation :
$ ipa servicedelegationrule-add-target cockpit-delegation \ --servicedelegationtargets=cockpit-target
Activer l'authentification Kerberos sur l'hôte remote.idm.example.com:
-
SSH
à remote.idm.example.com commeroot
. -
Ouvrez le fichier
/etc/ssh/sshd_config
pour le modifier. -
Activez
GSSAPIAuthentication
en décommentant la ligneGSSAPIAuthentication no
et en la remplaçant parGSSAPIAuthentication yes
.
-
Redémarrez le service
SSH
sur remote.idm.example.com pour que les changements ci-dessus prennent effet immédiatement :$ systemctl try-restart sshd.service
Ressources supplémentaires