This documentation assumes you have NEVER done anything with keypairs before (or at least that you have no recollection of having done so). If you have done keypair stuff for CS 261, you can likely skip to the github section below. Most of the sections of this document assume you have first followed the preceding sections (so you should strongly consider following them in order).
git --version
and press Enter. Keep this terminal around for all the future steps!git --version
and press Enter. Keep this terminal around for all the future steps!ssh-keygen -t ed25519 -b 4096 -C "Generated $(date -I)"
Your identification has been saved in ~/.ssh/id_ed25519 Your public key has been saved in ~/.ssh/id_ed25519.pub The key fingerprint is: SHA256:dkzGbszeCq4x+N6nDzqwertya0si5CWQ4MQCHMW7Ju0 Generated 2024-10-07 The key's randomart image is: +---[ed25519 4096]----+ |*o+. | |=+ . . | |+. . + | |. .... B | | o... . S B | |o.o+ + o = . | |..= + = o + . | | . Eo+.= +.o | | .o*=.++o | +----[SHA256]-----+
Tell your computer you'd like to use this key to connect to JMU CS's student server, “stu”.
~/.ssh/config
) to include the following lines:code ~/.ssh
Host * ServerAliveInterval 30 ServerAliveCountMax 120 AddKeysToAgent yes # https://man.openbsd.org/ssh_config#AddKeysToAgent # IdentitiesOnly yes # I am thinking maybe I should not propose this for beginners. so it's commented out now. Host stu # by specifying the host here as "stu", you can use "stu" as a shorthand for # the full hostname when connecting via ssh to the server at the HostName below HostName stu.cs.jmu.edu # next setting only necessary if you aren't using a default-named key like id_rsa or id_ed25519 # IdentityFile ~/.ssh/name-of_non_default_private_key User YOUR_EID_BUT_DONT_CAPITALIZE_IT # if you specify a user, you don't have to put the # user@ when connecting via ssh
NOTICE THE PART YOU HAVE TO REPLACE ABOVE, FOR MOST IT'S IN JUST THE LAST LINE WHERE IT SAYS “YOUR_EID”
ssh-copy-id stu
The authenticity of host 'stu.cs.jmu.edu (134.126.141.221)' can't be established.
ED25519 key fingerprint is SHA256:RYxaUOHGdifpo+JaJeE6JHWVqiji+in1GI5lvbJluPk.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
, if you do, enter “yes”Number of key(s) added: 1
ssh stu
logout
Note: For those who skipped here because of 261 reasons - Open a terminal window (specifically as specified above in the prerequisites).
If you want to do things with GitHub, you must first have an account. If you don't have one yet, sign up for a GitHub account.
Note: it's possible that your quippy username that's served you well since middle school through that very public social media posting about that awkward thing that happened back in high school might be ok to keep around, but perhaps not as your personal-professional username. So maybe don't doxx yourself by making your github username relate to all your prior online activity. 😅
ThatDellWithThatOSv42
.cat ~/.ssh/id_ed25519.pub
ssh -T git@github.com
Hi hcientist! You've successfully authenticated, but GitHub does not provide shell access.