How do you use token to access github in a basic terminal?
from mazzilius_marsti@lemmy.world to linux@lemmy.ml on 11 Mar 18:34
https://lemmy.world/post/26683895

So I put all of my important dot files on Github. Whenever I need to reinstall stuff, I pull the files. To get this working, I need to do the “gh auth login” where it grants the ssh key. Or I can create a token for that specific machine on Github. This is a long list of letters/numbers that I then copy when doing “git clone”.

During installations of Arch or even a minimal Debian, how do you do this? There are no browsers, so the command “gh auth login” would get stuck.

Is there a better way to do this, other than making the dotfiles repo public?

#linux

threaded - newest

paequ2@lemmy.today on 11 Mar 18:53 next collapse

Maybe you could go to:

Settings > Developer Settings > Personal Access Tokens > Tokens (Classic)

And then create a new token there.

Then you should be able to clone a private repo as long as you have git installed.

When you git clone your private repo, git will ask for your username, enter that. Then it’s gonna ask for your password. Don’t enter your GitHub password. Enter your token.

Clone should work.

just_another_person@lemmy.world on 11 Mar 19:02 collapse

Yes, PSK will work.

unlawfulbooger@lemmy.blahaj.zone on 11 Mar 19:13 next collapse

You can use your token with the REST api. And use that to do whatever you want.

you can also use your token for git clone like so:

$ git clone https:/git:put_your_token_here@github.com/myown/repo
davel@lemmy.ml on 11 Mar 19:44 collapse

Best practice is not to use raw credentials on the command line because it exposes them in process listings and shell history files.

git-scm.com/docs/gitcredentials

TheDarkQuark@lemmy.world on 11 Mar 23:44 next collapse

Just use SSH keys.

docs.github.com/…/generating-a-new-ssh-key-and-ad…

And use SSH urls (git@…) instead of HTTPS urls (https://…) when cloning.

bitwolf@sh.itjust.works on 13 Mar 13:11 collapse

Personally I find git-credential-manager much easier to use.

It manages Oauth2 for you.

Or ssh keys.