Skip to content

Latest commit

 

History

History
72 lines (52 loc) · 2.82 KB

File metadata and controls

72 lines (52 loc) · 2.82 KB

No-SSH approach for GitHub under Linux

I wanted to make full use of my git repositories on GitHub without having to set up SSH access. I'm using Ubuntu Linux under WSL.

Setting up

  • Use GitHub web interface to create a new personal access token with the scopes repo and gist. Copy the token value into the clipboard as it won't be displayed more than once.

  • On the local Linux host, configure git to store authentication information:

    [~]$ git config --global credential.helper store
  • Edit ~/.git-credentials to include the following line, with USER being your GitHub username and TOKEN the value of the token in the clipboard.

    https://USER:TOKEN@github.com
    
  • Make sure the credentials file is readable only by yourself:

    [~]$ chmod 400 .git-credentials

Usage

The following is a test I've conducted after setting up access as described in the previous section.

  • Clone a private repository:

    $ git clone https://github.com/olliefr/memes
    Cloning into 'memes'...
    remote: Enumerating objects: 111, done.
    remote: Counting objects: 100% (111/111), done.
    remote: Compressing objects: 100% (103/103), done.
    remote: Total 111 (delta 18), reused 97 (delta 7), pack-reused 0
    Receiving objects: 100% (111/111), 5.05 MiB | 7.54 MiB/s, done.
    Resolving deltas: 100% (18/18), done.
  • Update a file...

  • Push the changes to GitHub:

    $ git push origin master
    Enumerating objects: 5, done.
    Counting objects: 100% (5/5), done.
    Delta compression using up to 12 threads
    Compressing objects: 100% (3/3), done.
    Writing objects: 100% (3/3), 335 bytes | 335.00 KiB/s, done.
    Total 3 (delta 1), reused 0 (delta 0)
    remote: Resolving deltas: 100% (1/1), completed with 1 local object.
    To https://github.com/olliefr/memes.git
       ae27d9c..c75a43e  master -> master

Yay!

More information

Relevant GitHub documentation pages:

Update

Note, that now there is also official GitHub CLI, which has auth command. It probably sets up Git configuration as well. I need to test this out and update this document.