Primeira vez que faça uma pergunta aqui, espero estar no lugar certo para fazer isso. Eu também procurei por problemas semelhantes aqui, mas não consegui encontrar nada parecido.
Aqui está o meu problema. Atualmente, temos um servidor git (usando o Gitorious) que atualmente está funcionando bem. Fui solicitado a adicionar uma camada adicional de segurança à interface da Web, autenticando com o Kerberos. Então, fui em frente e configurei o Apache para solicitar a autenticação do usuário usando mod_auth_kerb sempre que um usuário tentar acessar a interface da web. Tudo funciona muito bem no que diz respeito à interface da web. No entanto, ao tentar puxar / empurrar qualquer coisa da linha de comando, ela falha horrivelmente.
Aqui estão informações relevantes:
Na minha configuração do Apache, eu tentei os dois métodos a seguir, ambos produzindo os mesmos resultados:
<Directory /home/git/active/>
AuthName "Restricted Access Kerberos"
AuthType Kerberos
Krb5Keytab /etc/httpd/conf/httpd.keytab
KrbAuthRealms TEST.COMPANY.COM
KrbMethodNegotiate On
KrbMethodK5Passwd On
require valid-user
</Directory>
<Location />
AuthName "Restricted Access Kerberos"
AuthType Kerberos
Krb5Keytab /etc/httpd/conf/httpd.keytab
KrbAuthRealms TEST.COMPANY.COM
KrbMethodNegotiate On
KrbMethodK5Passwd On
require valid-user
</Location>
O seguinte é o que aparece ao tentar extrair da linha de comando:
== Gitorious: ==========================================================
Access denied or wrong repository path
========================================================================
fatal: The remote end hung up unexpectedly
Visto em gitorious_auth.log:
I, [2014-01-17 15:02:47#8854] INFO -- : Connection from "192.168.50.11 59109 22" (beauclaira): git-receive-pack 'sysadmin/puppet.git'
I, [2014-01-17 15:02:47#8854] INFO -- : Access denied or bad repository path for "beauclaira": "git-receive-pack 'sysadmin/puppet.git'"
E em / var / log / secure:
Jan 17 15:06:32 gitorious50 sshd[9286]: Accepted publickey for git from 192.168.50.11 port 59146 ssh2
Jan 17 15:06:32 gitorious50 sshd[9286]: pam_unix(sshd:session): session opened for user git by (uid=0)
Jan 17 15:06:32 gitorious50 sshd[9288]: Received disconnect from 192.168.50.11: 11: disconnected by user
Jan 17 15:06:32 gitorious50 sshd[9286]: pam_unix(sshd:session): session closed for user git
Eu senti falta de algo? Eu não entendo muito bem porque adicionar essa autenticação no Apache está impedindo os usuários de empurrar / puxar. A partir disso, eu acho que ainda passa pelo Apache, mesmo quando puxando da linha de comando? O que estou tentando fazer é possível?
Obrigado por qualquer ajuda que você possa fornecer!