Using aliases for SSH
An extremely helpful feature of ssh is the ability to define aliases using its configuration files:
~/.ssh/config
/etc/ssh/ssh_config
~/.ssh/config
contains configuration that is only available to your user and any user can create one for themselves.
/etc/ssh/ssh_config
contains configuration that applies to all users of the system and only administrators can modify it.
Note: ~/.ssh/config
should only have read and write access rights by its owner only!
Be sure to execute the following after your create it:
chmod 600 ~/.ssh/config;
Example 1 – Creating an alias for a host name:
Assuming we are too bored to type the full domain of a server, we can define a shorter name as follows:
Host bf HostName bytefreaks.net
by having this configuration lines in your ~/.ssh/config
file, you can shorten the command ssh bytefreaks.net;
to ssh bf;
.
Example 2 – Creating an alias for a host name with specific username:
In the next example, we create a new alias that not only will automatically set the host name but also the username
Host bf HostName bytefreaks.net User george
by having this configuration lines in your ~/.ssh/config
file, you shorten the command ssh [email protected];
to ssh bf;
.
Example 3 – Creating an alias for a host name with specific username and port:
In the next example, we create a new alias for a specific host name, username and ssh port number
Host bf HostName bytefreaks.net User george Port 22300
The above will shorten ssh [email protected] -p 22300
to ssh bf;
.
Example 4 – Creating an alias for a host name with specific username and identity file:
Host bf HostName bytefreaks.net User george IdentityFile /path/to/needed/private/key/id_rsa
The above will shorten ssh [email protected] -i /path/to/needed/private/key/id_rsa;
to ssh bf
;
For more information on the capabilities of the configuration files, please review the following documentation page as it has a whole lot more of useful information: http://man.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man5/ssh_config.5
Repeated note:
~/.ssh/config
should only have read and write access rights by its owner only!
Be sure to execute the following after your create it:chmod 600 ~/.ssh/config;