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

Become a contributor for community

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

DigitalOcean Documentation

Full documentation for every DigitalOcean product.

Resources for startups and SMBs

The Wave has everything you need to know about building a business, from raising funding to marketing your product.

Get our newsletter

Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.

New accounts only. By submitting your email you agree to our Privacy Policy

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.