≡ Menu

How to: Turning off SFTP server under Linux / UNIX cpanel server

Q. I’ve CentOS Linux cpanel server. I’d like to turn off SFTP server but only allow SSH for root user. How do I trun off sftp server?

A. OpenSSH / sshd reads configuration data from /etc/ssh/sshd_config. The file contains keyword-argument pairs, one per line. Lines starting with ‘#’ and empty lines are interpreted as comments. Configures an external subsystem such file transfer daemon (SFTP) done through this file only. Arguments should be a subsystem name and a command to execute upon subsystem request. The command sftp-server implements the “sftp” file transfer subsystem. sftp-server is a program that speaks the server side of SFTP protocol. sftp-server is not intended to be called
directly, but from sshd using the Subsystem option.

Disable / Turn off sftp server

Open /etc/ssh/sshd_config file:
# vi /etc/ssh/sshd_config
Find line that read as follows:
Subsystem sftp /usr/lib/openssh/sftp-server
Remove or comment out line by prefixing #:
# Subsystem sftp /usr/lib/openssh/sftp-server
Save and close the file. Restart sshd service:
# /etc/init.d/sshd restart

Share this tutorial on:

Like this? Follow us on Twitter OR support us by using Patreon

{ 9 comments… add one }
  • Kilian June 23, 2011, 6:35 pm

    so its gonn abe normal FTP then? cause SFTP was so slow I couldnt work on it

  • Marc December 5, 2011, 2:52 pm

    No it doesn’t. Not much support on how to enable normal (non secure) FTP ;p

  • Nenad Marjanovic January 8, 2013, 8:15 pm

    Better solution is to replace :

    Subsystem sftp /usr/lib/openssh/sftp-server

    Replace with :

    Subsystem sftp /bin/false

    • Jon June 2, 2014, 5:39 pm

      Why is that a better solution?

      • ovi June 12, 2014, 1:27 pm

        because that one works…

        • argon June 11, 2015, 1:29 pm

          Yup, he is right, .. its better coz it works. Tried on Ubuntu also.
          Thanks ovi.

  • Dhruva April 16, 2016, 5:40 am


    I read your answer for disabling sftp in server. But my problem is I am having “Subsystem sftp /usr/libexec/openssh/sftp-server” instead of “Subsystem sftp /usr/lib/openssh/sftp-server” what you have said.

    And also I have commented out(#) that line and restarted sshd, but it’s not working for me. Please help me.


  • Garima Jain June 21, 2016, 8:37 am

    Is there a way to run only SFTP on port 22 and ssh on a different port? SSH should not respond on 22.

    -Garima Jain.

  • igor September 23, 2016, 1:05 am

    Comment out the line that says Subsystem sftp /usr/libexec/openssh/sftp-server with a #, so it looks like:
    # Subsystem sftp /usr/libexec/openssh/sftp-server
    And add a line just below like this:
    Subsystem sftp /bin/false

Security: Are you a robot or human?

Leave a Comment

You can use these HTML tags and attributes: <strong> <em> <pre> <code> <a href="" title="">

   Tagged with: , , , , , , , , ,