SSH KeyGen
ssh-keygen(1) is used to generate public-private keypairs.
Installation
ssh-keygen(1) is bundled with openssl.
Usage
To generate a new SSH key, try:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Note that standards are always shifting. In the past, Github recommended a 2048 bits long key. Github now recommends the ed25519 algorithm, instead of rsa.
Legacy Format
OpenSSH 7.8+ uses a new format of SSH keys, which begin with -----BEGIN OPENSSH PRIVATE KEY-----. Some software are not prepared to parse this key format.
To generate a new key using the old format, add the -m PEM option.
To convert an existing key to the old format, try:
ssh-keygen -p -f ~/.ssh/id_rsa -m pem -P "" -N ""
Commercial Services
Github and Gitlab both allow SSH key authentication.