Two Ways To Generate An SFTP Private Key

Posted by John Carl Villanueva on Wed, Apr 14, 2021 @ 03:50 AM

One of the major security features of SSH FTP is public key authentication. This method of authentication allows JSCAPE MFT Server to verify a user's identity during login by asking for a secret item only the user has — an SFTP private key file (SSH key). Using keys to authenticate users while still requiring username and passphrase gives us two-factor authentication.

private_key

In this post, we'll show you how to generate a private key for your SFTP server. In fact, we'll show you two places where a private key file can be obtained. 

The first place you can generate an SFTP private key file is in the Key Manager, which can be reached via the JSCAPE MFT Server Manager and hence can only be accessed by a server admin. The second place is via the JSCAPE MFT Server Web User Interface and can be accessed by anyone with a user account on the server.

Let's have a look at those two options.

1. Obtaining An SFTP Private Key Via The Key Manager

To generate an SFTP private key pair via the Key Manager, launch the JSCAPE MFT Server Manager, login, and then go to Keys.

 

mft server keys module

 

Next, navigate to the Client Keys tab and then click the Generate button.

 

client keys generate mft server

 

Fill up the fields in the Generate Client Key dialog. You'll need to enter the following information:

Key alias - We recommend you use the username of the user account this key will be binded with. 

Key algorithm - Choose between RSA or DSA. Click that link for a thorough discussion on these two key algorithms.

Key length - Choose between 1024 and 2048. Read the post "Choosing Key Lengths for Encrypted File Transfers" if you need more information on the subject.

Validity - Specify how many days you would like this key to remain valid.

Common name (CN) - This should be the full name of the user.

Organization unit (OU) - Indicates the specific unit in your organization that will be using this key, e.g. Accounting.

Organization (O) - The name of your organization.

Locality (L) - The name of your city.

State/Province (ST) - The name of your state or province.

Country (C) - Your 2-character country code, e.g. "US".

 

generate client key

 

Click the OK button when done.

You'll then be asked to specify the name of the file that will hold this key. Make sure the filename is saved in the PEM format. Otherwise, you won't be able to use it for SFTP public key authentication. As an added layer of protection, you can also specify a password for this file.

 

export private key

 

Click the OK button when done and then Save the file to your desired folder. Because it is this file which the user will be required to submit during login, you will have to send this file to the user after it has been created. It's just a file, so you can burn it to a CD or copy it to a USB drive and then transport it securely to the intended user. While it is possible to email the file, email is not a recommended option unless the key is encrypted because emails can be intercepted and your key will be compromised.

 

opening private key

 

After saving the file, you should be able to see your newly created client key in your list of client key certificates.

 

newly created sftp key

 

Note that this method can only be carried out by someone with administrative access to your JSCAPE MFT Server. However, it's also possible for a user to generate another SFTP private key file by themselves. If you want to know how, read the next section.

2. Obtaining An SFTP Private Key Via The User Web UI

To obtain an SFTP private key as a user, log in to JSCAPE MFT Server through the Web User Interface.

 

login jscape mft server user web ui

 

Once inside, click the link labeled My Account at the upper-right corner of the screen.

 

jscape mft server user web ui my account

 

Next, navigate to the section Public Key Authentication and then click Generate Key Pair.

 

public key authentication generate key pair

 

Choose an encryption type and length and then select PEM for the file type. You may also specify a password. When done, click the OK button.

 

generate key pair web ui

 

The private key file will then automatically download to your SFTP client. Click Save File to save it in your default download folder.

 

save private key file prv

 

Be sure you move that file from the download folder to another location that only you know. 

Bonus Tip

There's still another way of generating an SFTP private key. Your users can actually generate their own keys locally using a third party software like PuTTYGen. Once the key is generated, they can send them to your server admin, who will then import the key into the key manager and then bind it with a user account.

Here's a video that shows you how it's done:

Public Key Authentication using PuTTY

There, now you know three ways of generating SFTP private key files. 

 


Get Your Free Trial

 

Would you like to try this yourself? JSCAPE MFT Server is platform-agnostic and can be installed on Microsoft Windows, Linux, Mac OS X and Solaris, and can handle any file transfer protocol as well as multiple protocols from a single server. Additionally, JSCAPE enables you to handle any file type, including batch files and XML. Download your free 7-day trial of JSCAPE MFT Server now.

 

Get A Free Trial

 

 

Related Content

Setting Up SFTP Public Key Authentication On The Command Line
What Port Does SFTP Use?
Guide On How To Set Up An SFTP Server
How To Automatically Transfer Files From SFTP To Azure Blob Storage