Generate ssh keys user for authentication, password-less logins, and other things.

# To generate a key interactively:
ssh-keygen

# To specify file in which to save the key:
ssh-keygen -f ~/.ssh/<filename>

# To generate an ed25519 key with 100 key derivation function rounds:
ssh-keygen -t ed25519 -a 100

# To generate an RSA 4096 bit key with email as a comment:
ssh-keygen -t rsa -b 4096 -C "<email>"

# To retrieve the key fingerprint from a host (useful for confirming the authenticity of the host when first connecting to it via SSH):
ssh-keygen -l -F <remote_host>

# To remove the keys of a host from the known_hosts file (useful when a known host has a new key):
ssh-keygen -R <remote_host>

# To retrieve the fingerprint of a key in MD5 Hex:
ssh-keygen -l -E md5 -f ~/.ssh/<filename>

# To change the password of a key:
ssh-keygen -p -f ~/.ssh/<filename>

# ---

# To print the fingerprint of a public key:
ssh-keygen -lf /path/to/keyfile

# To print the Github-style (MD5) fingerprint of a public key:
ssh-keygen -E md5 -lf /path/to/keyfile