Determinando o mecanismo de autenticação sem senha do SSH

0

Estou tentando entender o mecanismo pelo qual estou executando com êxito a autenticação SSH sem senha. Embora a autenticação de chave pública esteja habilitada, isso não é como está acontecendo. Eu tenho minha chave pública comentada no meu arquivo authorized_keys . Além disso, não tenho certeza se o arquivo authorized_keys de meu usuário pessoal entra em ação, já que estamos usando a implementação LDAP do FreeIPA para autenticação.

A configuração SSH do lado do cliente faz parecer que a autenticação baseada em host está sendo usada. No entanto, a configuração SSH do lado do servidor tem a autenticação baseada em host desativada.

Abaixo, forneço o que acredito ser todas as informações de configuração relevantes.

Do que é fornecido abaixo, alguém poderia me explicar como a autenticação sem senha está ocorrendo? Se não, que informações adicionais posso fornecer para ajudar?

Obrigado antecipadamente!

Versões de software

CentOS: 7.3.1611

ipa-client.x86_64 4.4.0-14.el7.centos.7
ipa-client-common.noarch 4.4.0-14.el7.centos.7
ipa-common.noarch 4.4.0-14.el7.centos.7
sssd-ipa.x86_64 1.14.0-43.el7_3.18

openssh.x86_64 6.6.1p1-35.el7_3

sssd.x86_64 1.14.0-43.el7_3.18
sssd-ad.x86_64 1.14.0-43.el7_3.18
sssd-client.x86_64 1.14.0-43.el7_3.18
sssd-common.x86_64 1.14.0-43.el7_3.18
sssd-common-pac.x86_64 1.14.0-43.el7_3.18
sssd-ipa.x86_64 1.14.0-43.el7_3.18
sssd-krb5.x86_64 1.14.0-43.el7_3.18
sssd-krb5-common.x86_64 1.14.0-43.el7_3.18
sssd-ldap.x86_64 1.14.0-43.el7_3.18
sssd-proxy.x86_64 1.14.0-43.el7_3.18

Configuração do cliente SSH

PubkeyAuthentication sim
GlobalKnownHostsFile / var / lib / sss / pubconf / known_hosts
ProxyCommand / usr / bin / sss_ssh_knownhostsproxy -p% p% h

Anfitrião *
   GSSAPIAutenticação sim

Configuração do Servidor SSH

Abaixo, forneço as opções de configuração do sshd que acredito serem relevantes. Por favor, deixe-me saber se o valor de outras opções é necessário. Estes foram obtidos executando sshd -T ao invés de apenas copiar e colar de / etc / ssh / sshd_config. Então, eles devem ser o que realmente está em vigor.

allowtcpforwarding sim
authenticationmethods any
authorizedkeyscommand / usr / bin / sss_ssh_authorizedkeys
authorizedkeysfile .ssh / authorized_keys
challengeresponseauthentication yes
gatewayports no
gssapiauthentication sim
gssapicleanupcredentials yes
gssapienablek5users no
gssapikexalgorithms gss-gex-sha1-, gss-group1-sha1-, gss-group14-sha1-
gssapikeyexchange no
gssapistorecredentialsonrekey no
gssapistrictacceptorcheck sim
hostbasedauthentication no
hostbasedusesnamefrompacketonly no
ignoreuserknownhosts no
kbdinteractiveauthentication sim
kerberosauthentication no
kerberosorlocalpasswd sim
kerberosticketcleanup sim
kerberosusekuserok sim
senhaauthentication sim
permitopen any
permittunnel no
permituserenvironment no
pubkeyauthentication sim
strictmodes sim
usedns no
uselogin no
usepam sim

    
por Dave 02.07.2018 / 21:57

2 respostas

0

Publicando o comentário de Xenoid como resposta:

Faça o comando ssh -v {host} e você terá uma lista completa dos protocolos de autenticação verificados (o último deles é o usado). - xenoid 2 de Jul às 20:20

NOTA: Crédito devido ao Xenoid

    
por 25.07.2018 / 11:58
0

Da sua lista de pacotes:

sssd-ipa.x86_64 1.14.0-43.el7_3.18

sssd-krb5.x86_64 1.14.0-43.el7_3.18

Da sua configuração do servidor SSH:

gssapiauthentication yes

Da sua configuração do cliente SSH:

GSSAPIAuthentication yes

Com base em suas informações, presumo que você registrou seu host como cliente IPA com FreeIPA e provavelmente está usando a conexão única baseada em Kerberos por meio de GSSAPI .

Principalmente, você teria feito kinit [email protected] antes do login SSH para obter um ticket de concessão de tíquete Kerberos (TGT), que você pode listar com o comando klist junto com os tíquetes de serviço obtidos.

Para saber com certeza, seria útil ver a saída de ssh -v como os outros já escreveram e adicionar quais documentos / instruções você seguiu ao configurar tudo isso.

    
por 25.07.2018 / 13:47