SSH
Key Management
Generate new key:
ssh-keygen -f $HOME/.ssh/id_[name] -C "[comment]"
Deploy key to host:
ssh-copy-id -i $HOME/.ssh/id_[name] [username]@[hostname]
Change key passphrase:
ssh-keygen -p -f $HOME/.ssh/id_[name]
Output public key from private key:
ssh-keygen -y -f [key] > [key.pub]
Client Configuration
Use the following example to create your $HOME/.ssh/config
configuration file:
##########
# Global #
##########
AddKeysToAgent yes
IdentityFile ~/.ssh/id_mainkey
#########
# Hosts #
#########
Host server1
HostName server1.example.org
User root
Tip
man ssh_config
Jump Host
ssh -J <user>@<jumphost> <user>@<destination>
This can also be achieved using the ProxyJump
configuration directive:
Host destination
ProxyJump <user>@<jump>
HostName <destination>
User <user>
Tip
Multiple jump hops may be specified separated by comma characters.