How to create alias for ssh command?
Standard Ssh client reads the configuration files before any connection:
/etc/ssh/ssh_config # system-wide
~/.ssh/config # per user
with the latter with more priority.
Ideally you want to configure the systemwide config with parameters that please all users and the config in your homedir with options specific to you.
Here's an expample of ~/.ssh/config
Host remote.example.com
User dev1
IdentityFIle ~/.ssh/id_rsa_remote
Then to connect:
ssh remote.example.com
Note:
~/.ssh/config
must have read/write permissions for the user, and not be accessible by others (chmod 600 ~/.ssh/config
)
All possible options are documented in ssh_config manual pages: man ssh_config
I usually use the .ssh/config
file found in my home directory to run my OpenSSH client in the format ssh ubserver
. In that file found here /home/$USER/.ssh
I have the follow configurations:
Host ubserver
Hostname 127.0.0.1
Port 2222
User george
Meaning I can simply do:
ssh ubserver
and connect to the said server without typing more than that line in the terminal.