Filter by Category

Are SSH Keys or Passwords Better for SFTP Authentication?

ssh keys or sftp passwords for sftp authentication

SFTP passwords or SSH keys? That’s the question often asked by IT professionals when setting up authentication on an SFTP server. There’s some debate on whether SSH keys or passwords are better at protecting and validating company SFTP servers, and the consensus is never official.

What are the real differences between these methods? How do they work? Is one really better or more secure than the other? Which should you use: SFTP with password or SSH keys?

 


SFTP Password Authentication

Authenticating an SFTP server with a password is simple. The administrator creates a username and password combination for a user. After the setup is complete, whenever the user signs in, the server checks the username/password combination and approves or denies the request based on whether the password is correct.

To make this method secure, the admin can enable a failsafe: if someone incorrectly tries the password more than x amount of times in x minutes, they’ll be blocked from the account. The admin can also set passwords to meet certain requirements (i.e. a specific length or includes capitalized letters, numbers, and symbols) and expire after a certain number of daysthough whether this practice really prevents data breaches is still up for debate.

Pros: Easy to implement, can expire, can be assigned policies

Cons: Can be brute-forced, prone to human error and weak password creation, password policies may frustrate employees

SSH Key Authentication

Authenticating an SFTP server with a SSH key requires a little extra legwork, but it's a useful option for extra security. An SSH key pair is comprised of a private key and public key portion. The key pair is automatically generated by the computer and can be up to 4096 bits in length, which is much longer than a typical password.

You have a private key that’s kept on the SSH client software and a public key that’s kept on the SSH server.

Once the public and private keys are stored, the client software can authenticate against the SSH server. Some SFTP servers require both an SSH key and password for additional authentication. Anyone who tries to login with the username or password (or both) but doesn’t have the correct private/public key match will be denied access to the server, regardless of whether they try to brute-force it.

Pros: Are typically much more complex than a password, aren’t human generated, can have a password added for another factor of authentication, more complicated to brute-force than passwords

Cons: Don’t expire, prone to physical theft if someone takes the device they’re on, some key pairs are used across multiple SFTP servers which makes the private key valuable (and vulnerable)

Know Your Terms: GoAnywhere Glossary

So, Which Method is Better? SFTP with Passwords or SSH Keys?

Questioning what the best SFTP security best practice is doesn't have an easy answer. Both SSH keys and passwords have their advantages and disadvantages; it depends on what your organization needs and how strong your cybersecurity policy is. Neither method is completely immune to compromise. There’s no one option that’s foolproof.

However, if you’re not sure which one to use, we recommend using SSH keys and a password to authenticate your users against an SFTP server. Many big companies (including GitLab) suggest using a password with your SSH key as best practice. IT forums like StackExchange often say the same.

The biggest argument for using both? If someone compromises your private key (i.e. steals your device or installs malware on it), they won’t be able to compromise the SFTP server without the password/passphrase. And if someone has your password but not your private key? Game over for them. Of course, this isn’t foolproof either, but it’s dual-factor authentication … which is a step above password-only for SFTP authentication.

GoAnywhere Managed File Transfer supports the use of SFTP to secure, automate, and audit file transfers. You can authenticate users with SFTP passwords and SSH keys, meaning you can choose one, the other, or both to satisfy your IT security requirements. With our SFTP client, you can also deliver and retrieve files from your SFTP server through an encrypted tunnel, transfer multiple encrypted files per connection, set up alerts for failed transfers, and more.

Watch an On-Demand Demo

Latest Posts


What is SOC 2 and Why it Matters for Security

December 2, 2021

What is SOC 2, and does it apply to your organization? Discover the SOC 2 security compliance requirements, and how you can meet them.


What is Zero Knowledge Encryption?

November 30, 2021

Encryption holds the key to securing sensitive data. Learn a bit about zero knowledge encryption as well as the secure options a managed file transfer solution offers.


What is the DROWN Attack?

November 24, 2021

The DROWN Attack is a serious vulnerability that affects HTTPS and other servers that rely on SSL/TLS. Learn more about it in our blog and how to know if your server is vulnerable.


Developing a Plan for Data Risk Management

November 18, 2021

Does your organization have a data and risk management strategy in place? Here’s what to watch for and how you can develop a data risk management plan.


What Are Self-Service MFT Capabilities?

November 16, 2021

Self-service MFT capabilities help to provide more visibility into data movements through the use of the Business Activity Monitoring Dashboard (BAM). Learn more about BAM in our blog.