Finding a pay-by-the-hour Ubuntu sysadmin
August 20, 2021 1:44 AM   Subscribe

I'm having troubles with using github from Ubuntu and I'm getting to the point where I think paying for assistance might be the best option. Github has recently stopped users authenticating with uid/pwd which has left me unable to use github in the way I normally would. I've decided I need help because I've tried all the standard "this is how you fix your github/ssh problems". More inside.

I'd like someone's assistance to put my environment into a state where I can, once again, stop thinking about ssh with respect to Github. I'm really not sure how to do this given that by its nature I don't really want random people off the internet digging around on my machine so I think it's got to be me and the helper working together over chat/voice/video.

I have a feeling that whatever the issue is it's a little more than beginners level so I need someone who's further ahead than just having read all the blog posts that I have (difficult to asses that level I appreciate but ...).

I have looked at Metafilter Jobs but as far as I understand that's not really for this scale of job ... happy to be corrected on that if needs be.

So ... something a bit like Mechanical Turk but aimed at Ubuntu Sys Admin/Security types ... any suggestions ?
posted by southof40 to Computers & Internet (9 answers total) 1 user marked this as a favorite
 
I have seen similar asks being directed towards jobs, my first thought would be that it fits. The current posts aren't similar to this, but I do think that hourly stuff is fitting there.

If you are getting hands on help (i.e. giving someone access) you are going to have to trust them. I think I would trust a mefites help more than a random help wanted board online.
posted by adventureloop at 1:53 AM on August 20, 2021 [1 favorite]


Not really answering your question, but:

you may be able to get some help here, if your problem is relatively simple, and if you are able give a clear explanation of the steps you followed, what you expected to happen, what actually happened instead, and can share an excerpt of an error message for the symptom that you see when things don't work.

As long as you don't share the contents of your ssh private key with people [1] or other passwords or personally identifying information you may have), it should be pretty safe to share some diagnostic information.

How far through these ssh setup steps are you able to get? https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh

Do any of your symptoms match the common issues described in the troubleshooting guide? https://docs.github.com/en/github/authenticating-to-github/troubleshooting-ssh

Is your computer in some complex / unusual network environment? E.g. are you trying to make this work from inside a corporate office where corporate IT staff have blocked the ability for programs to connect over ssh?


[1] Do not share the contents of a file named ~/.ssh/id_rsa or ~/.ssh/id_ed25519 that contains text starting with the line -----BEGIN RSA PRIVATE KEY----- or similar. As a rule of thumb this private key file should never leave the machine you generate it on.
posted by are-coral-made at 2:25 AM on August 20, 2021 [5 favorites]


I'm with are-coral-made. Unless you have weird network / broken SSH this should be really simple. I just did it myself in like 4 minutes (good excuse to rotate credentials). I can think of a couple of things that might go odd/wrong (like having an old entry in ~/.ssh/known_hosts, or wrong file permissions). There has to be serious breakage on your machine or your network is messing up SSH for this not to be easy.

Copy the following into a file called 'foobar.rsa'...

-----BEGIN OPENSSH PRIVATE KEY-----
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
-----END OPENSSH PRIVATE KEY-----
Do this...
   
chmod go-rwx foobar.rsa
You can get permission errors if other people have read/write/execute permissions for the secret key.

Now....

ssh -i foobar.rsa mefi@47.232.134.48
If SSH works, you should see something like....


                          (  ) (@@) ( )  (@)  ()    @@    O     @     O     @
                     (@@@)
                 (    )
              (@@@@)

            (   )
         ====        ________                ___________
     _D _|  |_______/        \__I_I_____===__|_________|
      |(_)---  |   H\________/ |   |        =|___ ___|      _________________
      /     |  |   H  |  |     |   |         ||_| |_||     _|                \__
     |      |  |   H  |__--------------------| [___] |   =|
     | ________|___H__/__|_____/[][]~\_______|       |   -|
     |/ |   |-----------I_____I [][] []  D   |=======|____|_____________________
   __/ =| o |=-O=====O=====O=====O \ ____Y___________|__|_______________________
    |/-=|___|=    ||    ||    ||    |_____/~\___/          |_D__D__D_|  |_D__D__
     \_/      \__/  \__/  \__/  \__/      \_/               \_/   \_/    \_/   \
There will be a ...

The authenticity of host '47.232.134.48 (47.232.134.48)' can't be established.
ECDSA key fingerprint is SHA256:MbEsQdjXw+wlGVbFIlv1rnLzk+l7I/m8fmCvXmdY5tM.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '47.232.134.48' (ECDSA) to the list of known hosts.
On the first connection. You'll eventually want to remove that (or just accumulate cruft)...

ssh-keygen -R 47.232.134.48
# Host 47.232.134.48 found: line 11
/home/REDACTED/.ssh/known_hosts updated.
Original contents retained as /home/REDACTED/.ssh/known_hosts.old
Now you probably know if SSH works. I'm on cable, so the IP might change and it won't work anymore. But it does for now.

Such is step 1: make sure you can SSH somewhere.

Step 2 is to create a pair of keys just for github.

ssh-keygen -t rsa -b 4096 -C "REDACTED COMMENT"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/zen/.ssh/id_rsa): /home/zen/.ssh/id_github_rsa
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/zen/.ssh/id_github_rsa.
Your public key has been saved in /home/zen/.ssh/id_github_rsa.pub.
...
Now, edit '.ssh/config' or create it.

Host github.com gist.github.com
ForwardX11 no
ForwardAgent no
IdentityFile ~/.ssh/id_github_rsa
Then go to githup.com and your profile / settings / ssh keys... delete the failed attempt(s) and add a new key. Give it a title "REDACTED COMMENT". Use 'xclip -i ~/.ssh/id_github_rsa.pub' or similar to cut-n-paste your *public* key into the big box and save.

Should be it. If SSH works, if public/private keys are in the right place, (if you don't have to delete old information from '~/.ssh/known_hosts'), if file permissions are secure, ...

Or your computer/network is possessed and hates github.
posted by zengargoyle at 5:29 AM on August 20, 2021 [3 favorites]


You can find someone on Upwork pretty quickly. Probably end up costing you between $50 and $150 plus an hour of your time finding the person and explaining what you want.
posted by goingonit at 7:21 AM on August 20, 2021


I'm with the earlier commenters: this is a straightforward process, and between all of us we should be able to help you to debug it if you can explain more specifically how it isn't working for you. This doesn't require any of us to have access to the actual contents of your keys.

Something which might be biting you is the URL that you're using for a particular repository. If you previously weren't using SSH authentication, you probably cloned your repositories using https URLs. Now you need the ssh URLs. You can change the URL for an existing repository with git remote set-url, but I usually just edit .git/config instead.
posted by confluency at 9:34 AM on August 20, 2021 [2 favorites]


To follow up on confluency's comment, when you clone a repo you can choose whether you want to grab it via https or ssh. I believe github is phasing out https so using ssh is required.

zengargoyle has the best, most complete step-by-step here, but if you're still having trouble there are plenty of nerds *nix users, devs, sysadmins, devops on AskMefi who can walk you through it.
posted by bendy at 7:59 PM on August 20, 2021


Forgot to add: I do agree that this kind of thing is most effectively done over real-time chat, but logistics may be an issue because of time zones. :)
posted by confluency at 2:20 AM on August 21, 2021


Response by poster: Thank you to all of you for your assistance, my github is now working !

Thank you to zengargoyle for the careful measured instructions and pointing out the significance of .ssh/config. The animation when I logged onto his server was really cool as well - choo-choo !

Thank you to confluency and bendy for pointing out the thing about https vs ssh , once I'd got it going a little bit I discovered that was indeed an issue for some of my repos and pointing that out helped.

In my excitement at seeing it work I tested my gitlab and bitbucket accounts only to find that of course they needed to be added to .git/config as well, once I did that they're working too.

I know this isn't how the green usually works but I was really set up to pay for this help so I took the $50 I was hoping might cover it and donated it to the Haiti Earthquake work of CARITAS.

Thanks again for all the suggestions and the effort put into the answers.
posted by southof40 at 4:58 AM on August 21, 2021 [5 favorites]


As far as I can tell, you're the only one to take the bait and actually try my choo-choo.

Login shell '/usr/games/sl'.

$ apt show sl
Package: sl
Version: 5.02-1
Priority: optional
Section: games
Maintainer: Markus Frosch 
Installed-Size: 60.4 kB
Depends: libc6 (>= 2.2.5), libncurses6 (>= 6), libtinfo6 (>= 6)
Homepage: https://github.com/mtoyoda/sl
Tag: game::toys, interface::text-mode, role::program, uitoolkit::ncurses,
 use::entertaining
Download-Size: 12.9 kB
APT-Manual-Installed: yes
APT-Sources: http://deb.debian.org/debian buster/main amd64 Packages
Description: Correct you if you type `sl' by mistake
 Sl is a program that can display animations aimed to correct you
 if you type 'sl' by mistake.
 SL stands for Steam Locomotive.
Teach you to type 'ls' correctly it will.

In the Metafilter spirit-ish (I think)... It's a fundraising month so you could drop some $$ to Metafilter. Maybe even pick up a sockpuppet account...

Glad it worked out.
posted by zengargoyle at 5:16 AM on August 21, 2021


« Older Android ShareMenu to OSX?   |   Tips for using an architect nib for writing Arabic... Newer »
This thread is closed to new comments.