This is a bit of frustration post. I’m not a professional and some stuff is super confusing. And it might not even be programming only, as this seems to be a general issue when it comes to signing and security in computers. Every time I have to reinstall my operating system (its really only a few times in a decade), one of the things i fear most is signing into Github, signing keys and setting up local git on my Linux machine. I want the verified badge. Every time its a fight in understanding and doing the right steps, creating gpg keys and access tokens and such.

Am I the only one who struggles with this? Right now I have set it up and my test repository has the badge again. Do people care about this? Especially people like me who does a few little CLI and scripts and nothing else. Am I doing enterprise level security for the sake of an icon or is this really more secure? I do not have ANY professional background. As said I seem to have setup correctly now, so this is not asking for troubleshooting. Just wanted hear about your opinion and experience, and if any of you care.

13 points

The badge lets others know you’re a masochistic

permalink
report
reply
9 points

In my work organization, we don’t allow pushes from users that have not signed their commits. We also frequently make use of git blame along with git verify-commit. For this reason, we have most new developers at any level create a GPG key and add it to their GitHub profile shortly after they join or organization. We’re a medium-sized FinTech organization though, so it’s very important we keep track of who is touching what.

That said, I can’t see it being all that important to an individual unless they’re very security-focused. For me personally, I have multiple yubikeys and one is meant specifically for SSH authentication and GPG operations including signing commits. Since I use NixOS and home-manager, I use the programs.git module to setup automatic signing and key selection. I really haven’t touched it at all in years now. It was very “set it and forget it” for me.

permalink
report
reply
7 points

GPG keys

There’s your problem right there. Like, really. Use SSH keys for this, it is infinitely easier to deal with.

permalink
report
reply
3 points

That has been my experience as well. Signing with SSH keys has been way easier to maintain over time than GPG. Plus you can use the same key to sign that you use for authentication to simplify system setup.

permalink
report
parent
reply
1 point

@barf Hmm, I will try SSH next time then.

permalink
report
parent
reply
6 points

Every time I have to reinstall my operating system (its really only a few times in a decade),

Reinstalling your operating system once a decade seems a bit excessive. When you’re more experienced you’ll probably not want to do it that often.

creating gpg keys

While it is a good practice to create new PGP keys with some regularity, there’s absolutely no reason to do it at the same time as reinstalling your operating system, doing that is only an unnecessary complication. The normal thing to do is to copy the entire home directory (and at least the keyring) from the old installation to the new.

Am I doing enterprise level security for the sake of an icon or is this really more secure?

The purpose of PGP signing git commits is to make it possible for others to verify that a commit has been created by you and not by someone else pretending to be you

If there are other people who look at your commits and want to verify that they really were made by you then this matters a lot. If no-one does that with your commits, it doesn’t matter at all.

permalink
report
reply
0 points

I don’t reinstall very often, usually use it for many years (its a rolling release). But even if I do, that should not be the problem here. As for the process to take over the old signed keys and reuse them, I didn’t know. I always thought the signing is for a specific set of hardware and current os installation. I have the directory .gnupg and the files .git-credentials and .gitconfig. Is there something else I have to copy?

permalink
report
parent
reply
5 points

I always thought the signing is for a specific set of hardware and current os installation.

Ah, no, PGP keys are intended for identifying people, not machines.

I have the directory .gnupg

That’s all you need for GPG.

Is there something else I have to copy?

Why not copy your entire home directory?

permalink
report
parent
reply
1 point

I never take over entire home, only selected configurations. Usually my old drive is available as a backup, in case I forgot something important (but my last drive broke). If done correctly, this approach is much cleaner and not the actual problem, doing it since 2008. Just didn’t know I could reuse my existing .gnupg directory. I’ll add this dir to my regular backup routine, after everything is working as it should.

I can only test this years from now. Thank you for this advice, it will save me lot of trouble and nerves.

permalink
report
parent
reply
6 points

Why not use SSH keys? Imo they are much easier to manage.

permalink
report
reply
3 points

Someone else suggested SSH instead too. I will have this in mind for the next time when I struggle with gpg. I also learned that I can reuse my existing gpg setup, so maybe I do not need SSH.

permalink
report
parent
reply
2 points

maybe I do not need SSH.

Heh. FYI, I’ve heard those words paired later with “fuck, I should have just used SSH”, fairly often.

permalink
report
parent
reply

Programming

!programming@programming.dev

Create post

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person’s post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you’re posting long videos try to add in some form of tldr for those who don’t want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



Community stats

  • 2.5K

    Monthly active users

  • 1.9K

    Posts

  • 30K

    Comments