I fixed the problem with the fingerprint-column by regenerating the missing
fingerprints, but the original problem is still there.
If someone also needs to regenerate fingerprints, here's my script:
#!/usr/bin/python
import psycopg2
import os
conn = psycopg2.connect("dbname=gitlabhq_production user=postgres")
cur = conn.cursor()
cur.execute("SELECT id, fingerprint, key FROM keys WHERE fingerprint IS
NULL")
keys = cur.fetchall()
for key in keys:
print("")
k_id = str(key[0])
k_key = str(key[2])
print("id = " + k_id)
print("key = " + k_key)
os.system('echo "' + k_key + '" > /tmp/fingerprint_cur')
k_fingerprint = os.popen('ssh-keygen -lf
/tmp/fingerprint_cur').read()
k_fingerprint = k_fingerprint.split()[1]
print("fingerprint = " + k_fingerprint)
stmt = "UPDATE keys SET fingerprint = '" + k_fingerprint + "' WHERE
id = " + k_id
print("updating: " + stmt)
updcur = conn.cursor()
updcur.execute(stmt)
updcur.close()
conn.commit()
cur.close()
conn.close()
Before running the script, ensure that your ssh-keygen version outputs MD5
keys. With newer versions you have to pass -E MD5 and remove the first
characters of the key.
Am Montag, 10. November 2014 16:46:10 UTC+1 schrieb jason leroy:
>
> We have a similar problem here: The push-events of some users are listed
> correctly in gitlab, but the pushes of most users are associated with the
> first user created in gitlab. So, the first user seems to push everything,
> but in fact he doesn't.
>
> It seems that the upgrade to the latest gitlab version this summer caused
> this problem. And I think it is somehow related to the SSH-Keys of the
> users:
>
> * Pushes that are done using an SSH-Key which already has been used with
> the old version of gitlab are associated with the first gitlab user.
> * Pushes that are done using an SSH-Key which has been added to gitlab
> after the upgrade are associated with the user who pushed it.
>
> I also saw that the fingerprint-column is empty for older SSH-Keys but for
> newer SSH-Keys it is set.
>
> But: I now asked one user to remove and re-add his SSH-Key and then push
> something. Now the fingerprint column is set for this user, but the push is
> still associated with the wrong, first user.
>
> Any idea?
>
> Am Mittwoch, 6. August 2014 11:38:56 UTC+2 schrieb Sytse Sijbrandij:
>>
>> Please check user email addresses in GitLab and in the git commits.
>>
>> On Tue, Jul 29, 2014 at 12:06 AM, John Kerr <[email protected]>
>> wrote:
>> > Running gitlab 6.9.4-ee on Ubuntu 12.04 LTS. We use LDAP for user auth
>> on
>> > gitlab and ssh verification within git. Recently noticed that a single
>> users
>> > pushes are not properly linked to their account in gitlab. Cloning the
>> repo
>> > on another system shows the commits and the appropriate author of those
>> > commits but gitlab is incorrect in its display of the author and
>> associates
>> > those commits to another user. I looked through the user's public keys
>> and
>> > they are correct and loaded into their own account on gitlab. Global
>> config
>> > is also correctly set on the user's account. Not sure what else to
>> check.
>> > Assistance of guidance is appreciated.
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> Groups
>> > "GitLab" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> an
>> > email to [email protected].
>> > To view this discussion on the web visit
>> >
>> https://groups.google.com/d/msgid/gitlabhq/046e9b45-ffdb-4868-ae33-08a0406f56fc%40googlegroups.com.
>>
>>
>> > For more options, visit https://groups.google.com/d/optout.
>>
>
--
You received this message because you are subscribed to the Google Groups
"GitLab" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/gitlabhq/760524f4-69dc-4131-8f0c-50fe0d9e909b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.