Recently, I’ve been working on some golang projects at DataSift that depend on some private modules. This means that when I run
go get to fetch the module, Github asks me for my username and password. Unfortunately, as I use 2FA I need to generate a new, temporary password for applications that want my password. As
go get doesn’t cache credentials, I’d have to do this every time I needed a private repo. Instead, I wanted to force
go get to use my SSH key.
go get uses
git, you can change your
.gitconfig to force it to use SSH.
$ git config --global url."[email protected]:".insteadOf "https://github.com/" $ cat ~/.gitconfig [url "[email protected]:"] insteadOf = https://github.com/
Here, we say use
[email protected] any time you’d use
https://github.com. This works for everything, not just
go get. It just has the nice side effect of using your SSH key any time you run
go get too.
Michael is a polyglot software engineer, committed to reducing complexity in systems and making them more predictable. Working with a variety of languages and tools, he shares his technical expertise to audiences all around the world at user groups and conferences. You can follow @mheap on Twitter