diff --git a/github.md b/github.md index f8ba29e9..99d33448 100644 --- a/github.md +++ b/github.md @@ -18,23 +18,51 @@ But you can still use `check50` and `submit50`! You just need to log in a bit di ## SSH 1. Open a terminal window, if not open already, within [Visual Studio Code](/code/), [CS50 IDE](/ide/index), [CS50 Sandbox](/sandbox/), or [CS50 Lab](/lab/). -1. Execute `ssh-keygen`. When prompted to "save the key," just hit Enter, without typing anything. -1. You'll then be prompted for a "passphrase" (i.e., password). If you only use your GitHub account for CS50, no need to input a passphrase; just hit Enter. Otherwise, input a passphrase (that you won't forget!), then hit Enter, then input it again, then hit Enter again. For security's sake, you won't see what you type. You'll then see a "randomart image" that you can ignore. -1. Execute `cat ~/.ssh/id_rsa.pub`. You'll then see your "public key," multiple lines of seemingly random text. Highlight and copy all of those lines, starting with `ssh-rsa` to the end. **But don't highlight your terminal window's prompts (which contain `$`) before or after those lines.** -1. Visit [https://github.com/settings/keys](https://github.com/settings/keys), logging in with your GitHub username and password as usual. Don't use the passphrase you just created, if any. -1. Click **New SSH Key**. -1. Paste your public key into the text box under **Key**. Optionally input a title under **Title** (e.g., `CS50`). -1. Click **Add SSH Key**. -1. Execute `ssh -T git@ssh.github.com -p 443`. -1. Enter "yes" and press enter if you see the following prompt (the IP address might be different): + +  + + +2. Execute `ssh-keygen`. When prompted to "save the key," just hit Enter, without typing anything. + +3. You'll then be prompted for a "passphrase" (i.e., password). If you only use your GitHub account for CS50, no need to input a passphrase; just hit Enter. Otherwise, input a passphrase (that you won't forget!), then hit Enter, then input it again, then hit Enter again. For security's sake, you won't see what you type. You'll then see a "randomart image" that you can ignore. + +  + + +4. Execute `cat ~/.ssh/id_rsa.pub`. You'll then see your "public key," multiple lines of seemingly random text. Highlight and copy all of those lines, starting with `ssh-rsa` to the end. **But don't highlight your terminal window's prompts (which contain `$`) before or after those lines.** + +  + + +5. Visit [https://github.com/settings/keys](https://github.com/settings/keys), logging in with your GitHub username and password as usual. Don't use the passphrase you just created, if any. + +  + + +6. Click **New SSH Key**. + +  + + +7. Paste your public key into the text box under **Key**. Optionally input a title under **Title** (e.g., `CS50`). +8. Click **Add SSH Key**. + +  + + +9. Execute `ssh -T git@ssh.github.com -p 443`. +10. Enter "yes" and press enter if you see the following prompt (the IP address might be different): ``` The authenticity of host '[ssh.github.com]:443 ([140.82.113.35]:443)' can't be established. ED25519 key fingerprint is SHA256:7KMZvJiITZ+HbOyqjKJV2AeC5As3GSZES5abcd1NIe4. This key is not known by any other names Are you sure you want to continue connecting (yes/no/[fingerprint])? ``` -1. If you input a "passphrase" (i.e., password) earlier, enter the passphrase and press Enter when you see the following prompt `"Enter passphrase for key 'home/ubuntu/.ssh/id_rsa':"` -1. You should be greeted with `"Hi USERNAME! You've successfully authenticated, but GitHub does not provide shell access."` If you don't see that, review the above steps to verify you didn't skip something. +11. If you input a "passphrase" (i.e., password) earlier, enter the passphrase and press Enter when you see the following prompt `"Enter passphrase for key 'home/ubuntu/.ssh/id_rsa':"` +12. You should be greeted with `"Hi USERNAME! You've successfully authenticated, but GitHub does not provide shell access."` If you don't see that, review the above steps to verify you didn't skip something. + +  + You should now be able to use `check50` and `submit50` (and `git`) without GitHub username and password. But if you created a passphrase, you might still be prompted for that.