Ma configuration
J'ai un cluster de machines exécutant Centos 7.3 et j'utilise Kerberos / LDAP pour l'authentification. Kerberos / LDAP sont tels que fournis dans FreeIPA 4.4.0.
Tous les hôtes ont une adresse sur 192.168.1.0/24 . Je ferai référence à cela en tant que réseau "principal".
Certains hôtes ont une adresse dans 192.168.2.0/24 . Je ferai référence à cela en tant que réseau "secondaire". Pour les hôtes dotés de cette deuxième interface, il existe des entrées A / PTR supplémentaires correspondantes dans DNS qui associent un nom d'hôte secondaire et une adresse IP secondaire. Dans tous les cas, le nom d'hôte secondaire est <nom d'hôte principal> -eth1 .
MON BUT
Je travaille sur la mise en place de l'authentification unique au sein de notre cluster. L'authentification unique fonctionne correctement sur le réseau principal, mais pas sur le réseau secondaire.
CE QUE J'AI FAIT SI LOIN: SERVER CIDE
J'ai configuré le serveur comme suit:
ipa-server-install \
-r ME.EXAMPLE.COM \
-n me.example.com \
--mkhomedir \
--hostname=host-1.me.example.com \
--ip-address=192.168.1.1 \
--ssh-trust-dns \
--setup-dns \
--auto-forwarders \
--forward-policy=only \
--auto-reverse \
--dirsrv-cert-file=<path to server SSL certificate> \
--http-cert-file=<path to server SSL certificate> \
--no-dnssec-validation
Une fois l'installation du serveur terminée, je dois également ajouter manuellement l'enregistrement PTR suivant au DNS:
1.1.168.192.in-addr.arpa PTR host-1.me.example.com
Je dois le faire car, apparemment, l' indicateur --auto-reverse pour ipa-server-install ne fonctionne pas (ou, peut-être plus probablement, je ne le comprends pas).
CE QUE J'AI FAIT À CE JOUR: CÔTÉ CLIENT
J'ai configuré mes ordinateurs clients comme suit:
ipa-client-install \
--force-ntpd \
-p admin \
-W \
--mkhomedir \
--no-nisdomain \
--ssh-trust-dns
Comme pour l'installation du serveur, j'ai également dû ajouter manuellement des enregistrements DNS PTR pour les clients. Les enregistrements A suivants, tels que créés par FreeIPA, ont été corrects dans tous les cas.
Ensuite, pour obtenir le nom d’hôte secondaire inscrit avec FreeIPA, j’ai effectué les opérations suivantes sur le client:
kinit admin
ipa-join -h host-1-eth1.me.example.com
Comme précédemment, cela créait des enregistrements DNS A en aval, mais je devais ajouter manuellement les enregistrements PTR DNS correspondants.
LE PROBLÈME
Là où j'ai des problèmes, c'est sur le réseau secondaire. Par exemple, je peux utiliser SSH pour host-1 sans mot de passe (c’est-à-dire que le SSO fonctionne sur le réseau principal), mais je ne peux pas passer à SSH pour hôte-1-eth1 sans mot de passe (c’est-à-dire que le SSO ne fonctionne pas sur le réseau secondaire) .
Il y a deux invites que SSH peut recevoir:
- Une invite à accepter une clé d'hôte SSH inconnue
- Une invite pour le mot de passe de l'utilisateur
Je ne suis pas invité à entrer un mot de passe d'utilisateur lorsque je SSH à un hôte utilisant son nom d'hôte secondaire. C'est l'invite à accepter une clé d'hôte SSH inconnue que je ne peux pas contourner lorsque j'essaie de SSH sur un hôte utilisant son nom d'hôte secondaire. Et cela se passe parce que ...
J'ai constaté qu'aucun enregistrement DNS SSHFP n'était généré pour les noms d'hôte secondaires. Toutes les mêmes clés d’hôte SSH doivent être associées au nom d’hôte secondaire, de même qu’elles sont associées au nom d’hôte principal. Cependant, cela ne se produit pas.
Comment utiliser FreeIPA pour obtenir les enregistrements DNS SSHFP nécessaires générés pour les noms d’hôte secondaires? De toute évidence, il faut plus que l’ ipa-join que je fais.