— I used keychain for the ssh-agent wrapper to load key. (dnf install keychain)
1.) Create ssh key pair.
2.) Add ssh pub key to your github’s “SSH and GPG keys” (.pub file) Configure permission settings as needed.
3.) Test github connection using the ssh key you’ve created earlier.
4.) Edit your .bashrc file to have your session load the key everytime you login.
(Not secure to store key locally, but the way I see it, you are toast if you’re system has been hacked.)
5.) Login and check if keychain is loaded and github connection is working properly.
1.) ssh-keygen to create ssh key pair.
btro@~/.ssh $ ssh-keygen -t ed25519 -C "test@test.com"
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/btro/.ssh/id_ed25519): test_ed25519
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in test_ed25519
Your public key has been saved in test_ed25519.pub
The key fingerprint is:
SHA256:mYiX0FNr4dKdwRHNYbW/uk8Nzoy9n9pKQklTuKZk0po test@test.com
The key's randomart image is:
+--[ED25519 256]--+
| o.+=++. |
| . + +.=+ . |
| . + * oo. . |
| o B *.oo . |
| . + S oo . .|
| . E .. * .o|
| ...=o.|
| o +..|
| =*=.|
+----[SHA256]-----+
btro@~/.ssh $ ls | grep test
test_ed25519
test_ed25519.pub
2.) Go to your “Settings” and “SSH and GPG keys” and add new SSH Key. Choose the .pub file you created in step 1.

3.) Once you’ve set your .pub file, test the connections from your host to github.
btro@~/.ssh $ ssh -i ./test_ed25519 git@github.com
PTY allocation request failed on channel 0
Hi! You've successfully authenticated, but GitHub does not provide shell access.
4.) For persistent ssh key loading to your ssh-agent, add the following to your .bashrc’s end of file.
btro@~ $ cat .bashrc | grep eval
eval `keychain --eval --agents ssh ~/.ssh/test_ed25519`
5.) Logout and log back in to your host, and confirm “ssh git@github.com” is responsive with the same results of step 3.