MINHA CONFIGURAÇÃO
Eu tenho um cluster de máquinas rodando o Centos 7.3, e estou usando o Kerberos / LDAP para autenticação. Kerberos / LDAP são empacotados no FreeIPA 4.4.0.
Todos os hosts têm um endereço em 192.168.1.0/24 . Vou me referir a isso como a rede "primária".
Alguns anfitriões têm um endereço em 192.168.2.0/24 . Vou me referir a isso como a rede "secundária". Para hosts que possuem essa segunda interface, há entradas extras de A / PTR correspondentes no DNS que associam um nome de host secundário e o endereço IP secundário. Em todos os casos, o nome do host secundário é < nome do host principal > -eth1 .
MEU OBJETIVO
Estou trabalhando para que o SSO seja implementado em todo o nosso cluster. O SSO está funcionando bem na rede principal, mas não na rede secundária.
O que eu fiz até agora: Lado do servidor
Eu configurei o servidor da seguinte forma:
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
Após a conclusão da instalação do servidor, também tenho que adicionar manualmente o seguinte registro PTR ao DNS:
1.1.168.192.in-addr.arpa PTR host-1.me.example.com
Eu tenho que fazer isso já que, aparentemente, o sinalizador - auto-reverse para ipa-server-install não funciona (ou, o que é mais provável, eu não entendo isso.
O QUE FIZEM ATÉ O LADO DO CLIENTE
Eu configurei minhas máquinas clientes da seguinte forma:
ipa-client-install \
--force-ntpd \
-p admin \
-W \
--mkhomedir \
--no-nisdomain \
--ssh-trust-dns
Como na instalação do servidor, eu também tive que adicionar manualmente registros DNS PTR para os clientes. Os registros A de encaminhamento, conforme criados pelo FreeIPA, foram bons em todos os casos.
Em seguida, para obter o nome do host secundário registrado no FreeIPA, fiz o seguinte no cliente:
kinit admin
ipa-join -h host-1-eth1.me.example.com
Como antes, isso criou registros DNS A de encaminhamento, mas tive que adicionar manualmente os registros DNS PTR correspondentes.
O PROBLEMA
Quando estou tendo problemas, estou na rede secundária. Por exemplo, posso SSH para host-1 sem senha (ou seja, o SSO está funcionando na rede principal), mas não consigo SSH para host-1-eth1 em uma maneira sem senha (ou seja, o SSO não está funcionando na rede secundária).
Existem dois prompts que um pode receber do SSH:
- Um aviso para aceitar uma chave de host SSH desconhecida
- Um aviso para a senha do usuário
Eu não sou solicitado para uma senha de usuário quando eu SSH para um host usando seu nome de host secundário. É o prompt para aceitar uma chave do host SSH desconhecida que não consigo entender ao tentar executar o SSH em um host usando seu nome de host secundário. E isso está acontecendo porque ...
Eu observei que não há registros DNS do SSHFP sendo gerados para os nomes de host secundários. Todas as mesmas chaves do host SSH devem ser associadas ao nome do host secundário, conforme associadas ao nome do host principal. No entanto, isso não está acontecendo.
Como devo usar o FreeIPA para obter os registros DNS SSHFP necessários para os nomes de host secundários? Obviamente, mais do que o ipa-join que estou fazendo é necessário.