Setting Up SSH Keys for Passwordless Login

ExaVault
6 min readNov 14, 2019

Let’s discuss SSH Keys. Are they something you’ve heard about but never really understood? Have you wanted to set them up but don’t know where to begin? You’re not the only one with these questions.

Is how to set up SSH keys a common support request?

Actually, yes. It can be common for new file-sharing users who are planning on doing SFTP transfers, and often in cases where a customer or a vendor is requiring the use of SSH keys.

Wait, What Are SSH Keys?

SSH keys are a great way to let users connect to a file transfer account without having to transmit a password. They can help with automated processes where you don’t want to be physically typing in a password every time.

The SSH keys themselves come in pairs. There’s a public key and a private key. The private key gets stored on the local computer of the user that will connect to the account, and you keep it secret. The public portion of the key actually gets stored on the computer you want to connect to — for example, in your ExaVault account.

Getting Started With SSH Keys

The easiest way to get started with SSH keys is to see if your SFTP service provider can make the keys for you. It never hurts to ask, and makes the process nice and simple. In some cases, you can just as easily create the key pair directly from your file-sharing account.

In general, the process is quite simple. For example, if you have an account with ExaVault, all you have to do is log in to your account and find the user you want to create SSH keys for. Then, choose the ‘Generate SSH Keys’ option.

You’ll then get a little prompt to confirm that you want to make the SSH key pair, and then it will create the keys for you. Notice an automatic download on your system. This is the private key, but the public key is already in place in the ‘.sftp’ folder located in the user’s home folder. You don’t have to do anything else apart from importing the private key into your SFTP client and testing the connection to see if it works.

What if I already have a public key that I want to use?

In many cases, you’ll get a public key from a vendor or partner, or you’ll want to create one yourself, and you won’t want your cloud provider to generate one. If that is the case, the first thing you want to do is check that your key is in the proper format.

Checking and Fixing Key Format

Many providers, ExaVault included, require the public key to be in the RFC-4716 format. If you open it up in a text editor, you may see ‘BEGIN SSH2 PUBLIC KEY’ at the top and ‘END’ at the bottom, and a few lines of information. This is a good indication the key is in RFC-4716 format, and will likely work as-is.

Example of ExaVault public key formatting.

What if mine doesn’t look like that…

Your key may be longer or shorter. Often the key will have a little prefix like ‘ssh-rsa’. This is absolutely a valid SSH key. It’s just not in the format that ExaVault (or many other SFTP servers) will recognize.

Unformatted SSH Key

In this case, you’ll need to do a little tech wizardry to convert the key into the RFC-4716 format. If you have access to a Mac or Linux computer, you can do this conversion on your own.

Open up a terminal on your Mac. Make sure that you’re in the location where your key is stored. Then run the command to convert your key.

Now, look at the new key. It should be in the proper format and ready to upload as soon as you rename that file as need.

Reformatted Public SSH Key

If you happen to be a windows user, you won’t be able to jump out to the command line and make this transformation quite so easily. Probably the simplest solution at that point is to reach out and contact support. Go ahead and store the public keys in the correct folder in your account. Doing this will make it even easier for tech support to look at the key and make that final transformation for you.

Uploading & Testing Your Key

Now it’s time for the big moment. If you’ve got a public key in RFC-4716 format, you’ll want to upload it to the server. With ExaVault, SSH keys get stored inside the user’s home folder in a special folder named ‘.sftp’. You may run across a ‘.ssh’ folder with other providers.

Check with your file transfer service to ensure the key file is named correctly. You’ll want the file named ‘authorized_keys’ for it to be recognized by the ExaVault server.

Finally, try to connect (or have your vendor try to connect) with the private key in their SFTP software. If everything worked, tada! You’re done. If not, look for documentation or your provider’s help page for troubleshooting steps.

Is it possible to have more than one key pair of SSH keys in my account?

For most services, this shouldn’t be a problem. It is a common request that comes up, especially in cases where you have multiple users who are using the same home folder. In that case, you will take your keys and list them one after another in the file, which will look a little something like the example below.

Multiple SSH keys stored in ExaVault.

So you’ll have your first key in the file and then immediately after it you add the next key. Just keep going until you have all the keys needed in your key file.

Ready to Go With SSH Keys.

Properly formatted and stored SSH keys let you create automatic logins to your SFTP service. They also help with password-less login for automated file transfers. There are options to set up SSH keys automatically or manually depending on your situation and SFTP service provider.

For more information on SSH keys or to learn how to set up SSH keys for your ExaVault account, check out our video >> Watch Now!

--

--

ExaVault

Secure Cloud FTP platform provides full support for manual and automated transfers via web interface, FTP, FTPS and SFTP. Visit www.exavault.com