How to Enable SFTP Without Shell Access

SFTP (SSH File Transfer Protocol) offers a secure way to transfer files between machines using an encrypted SSH connection. It’s secure and easy to use; however, the default SSH server grants file transfer access and terminal shell access to all users with an account on the system. In this tutorial, we’ll set up the SSH daemon to limit SFTP access on per-user basis. Choose your operating system below to get started.

CentOS

Ubuntu

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel