about summary refs log tree commit diff
path: root/tools/ssh-key-to-forge/README.org
blob: cb7eba6a75521c47d7b7c44c21427a3212138435 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#+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
<API TOKEN>
#+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.