第一次在这里提问,希望我来对地方了。我也在这里搜索过类似的问题,但找不到任何类似的问题。
这是我的问题。我们目前有一个 git 服务器(使用 Gitorious),目前运行良好。有人要求我通过使用 Kerberos 进行身份验证为 Web 界面添加额外的安全层。因此,我继续配置 Apache,以便每当用户尝试访问 Web 界面时,使用 mod_auth_kerb 提示用户进行身份验证。就 Web 界面而言,一切都运行良好。但是,当尝试从命令行 git pull/push 任何内容时,它会失败。
以下是相关信息:
在我的 apache 配置中,我尝试了以下两种方法,都产生了相同的结果:
<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>
以下是尝试从命令行拉取时出现的内容:
== Gitorious: ==========================================================
Access denied or wrong repository path
========================================================================
fatal: The remote end hung up unexpectedly
在 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'"
在 /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
我是不是漏掉了什么?我不太明白为什么在 Apache 中添加此身份验证会阻止用户推送/拉取。由此我猜测,即使从命令行拉取,它仍然会通过 Apache?我尝试做的事情可行吗?
感谢您的任何帮助,您可以提供!