This trick is for Linux and SSH users who often log in to remote systems. Having to type the same info over and over again is mind-numbingly repetitive, but using an SSH config file makes the process much more convenient.
It’s pretty easy to turn
scp –P 50001 email@example.com:somefile ./somefile
ssh –p 50001 firstname.lastname@example.org
into something quick:
scp remotehost:somefile ./somefile
Aside from specifying port numbers, addresses, and user names, you can specify key files, time out intervals, and tons of other options. All it takes is one little file.
Fire up a text editor and point it to this file:
Alternatively, you could put the contents and save it to that file, but it’s best to make sure to open it if it already exists. Here’s the basic format of what you need to put (or add to what you have).
Replace “your_alias_name” with a short name for this connection. Something like “home,” “work,” or “asdf” should suffice. ;-)
Substitute your username, and the web address (or IP address for destinations inside of your network) instead of remote.sshserver.com. Lastly, if you use a custom port (anything other than 22, the default), specify that. Otherwise, you can skip that last line.
Next, I created a pair of key files on my remote server to use, so I didn’t have to supply a password each time. For more information, check out How To Remotely Copy Files Over SSH Without Entering Your Password and skip down to the “SSH and SCP Without Passwords” section for all of the details.
Now, you can add an extra line and point it to your key file.
Let’s add a “keep alive” function to our connect, shall we? This will prevent your connection from ending by refreshing your connection every X seconds, a maximum number of Y times:
Our example will refresh every 2 minutes for a maximum of 30 consecutive times. That means, it will stop refreshing after an hour. This works from your client regardless of what your server has configured.
You can add multiple servers this way by adding another section with a difference Host section. And, if you want to create a set of default options, you can set the Host value to a single asterisk (*). Here’s a great example file:
This is handy for situations when creating a bash alias isn’t an option. It also makes it easier to keep track of all of your SSH-based options (from the client-side) in one consolidated place. If you plan to use this for scripts, you can also use
to disable prompts to enter passwords. Of course, you’d still need to authenticate using key files.
If you want to look more into the StrictHostKeyChecking option, be sure to Learn the Ins and Outs of OpenSSH on Your Linux PC. Of course, there’s a cornucopia of options available to you in the OpenSSH man page, too.