Using SSH to connect to a remote server is as simple as remembering the details: username, host, and password, plus any connection-specific quirks, like non-standard port.
That said, the more remote servers to which you need to connect on a regular basis—each with its own access configuration—the more complicated a task it can become to keep all these details straight.
Fortunately you can create shorthand for each of these connections in your SSH config file, located in the .ssh
subdirectory inside your home directory (~/.ssh/config
).
If either the subdirectory or the file don’t exist, create them:
## create ".ssh" subdirectory
mkdir -p ~/.ssh
## create "config" file and assign permissions
touch ~/.ssh/config && chmod 0600 ~/.ssh/config
Then, create a new Host
entry in this file for each connection, including in it all of the access parameters for that connection. Generally this includes:
Host
The “alias” for the connection. Make it something memorable, short, and easy to type.
HostName
Not to be confused with Host, this is the domain or IP address for the server to which you want to connect.
User
The username for the connection.
Port
SSH will use port 22 by default. This only needs to be included if you’re connecting on a different port.
IdentityFile
If you’ve configured a public / private key pair for this connection (bravo) this is the path to the private key. If you’re using one default public / private key pair for all connections (yikes) this can be omitted.
[Want more options? Click here for the full list.]
Let’s assume we, t_anderson
, want to make a connection to metacortex.com
on port 2222
, using a private key located at ~/.ssh/metacortex
. Here’s the old-fashioned way of doing it:
# first we associate the private key with the connection
ssh -i ~/.ssh/metacortex t_anderson@metacortex.com
# then we create the connection
ssh t_anderson@metacortex.com -p 2222
And now the SSH config way. We add a Host
entry to ~/.ssh/config
, using “mc” for our connection shorthand:
Host mc
HostName metacortex.com
User t_anderson
Port 2222
IdentityFile ~/.ssh/metacortex
And now all we need to do to make the connection is type:
ssh mc
Followed by saying “I’m in“, of course.