When you use SSH to connect to a lot of different machines over the day, you’re dealing with different parameters and data such as various SSH Keys, ports, host names, and so forth. How do you remember all of this though? You might have this information in a text file somewhere or in a Wiki, yet still it is a lot of typing:
$ ssh firstname.lastname@example.org -p 3322 -i .ssh/deploy_key
Can you remember all of these options? Don’t worry if you can’t. SSH comes with a solution for this.
You might remember the
.ssh directory from the SSH Primer, holding all our SSH Keys. When we add a
config file, ssh will read it once we want to connect to a remote machine.
.ssh/config allows us to configure a lot different things. Let’s explore how to configure host name, user, key and port:
Host staging HostName staging.example.com User deploy Port 7654 IdentityFile ~/.ssh/deploy_rsa
Now, whenever we need to connect to the staging machine, we can type:
$ ssh staging
What other things do you configure in your
.ssh/config? Share it in the comments!