#+TITLE: ssh-key-to-forge Upload a publich SSH key to GitHub and Gitea. ** Configuration All the information are expected to be stored in the global =gitconfig=. The following keys are required: - =github.user=: name of the user on GitHub - =github.tokensshtoforge=: the API token to use (you might want to restrict the token to only access the SSH keys, with read/write permissions) #+begin_src sh ; git config --global github.user fcuny ; git config --global github.tokensshtoforge #+end_src ** Run Once you've build the command, you can run =ssh-key-to-forge= without any arguments if the public key is stored under =$HOME/.ssh/id_rsa.pub=. If you need to upload a different key, you can use the =-ssh-key= flag with the path to the key. The program will ensure it's a proper public key that you're trying to upload. If there's no errors, nothing is printed on =STDERR= or =STDOUT=. If the key is already present, it will not do anything. *** Errors Errors are printed on =STDERR=. The only error that is considered fatal is if the ssh key is not a valid public key.