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

last updated in Categories , , , , , , , , ,

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

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

9 comment

  1. Better solution is to replace :

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

    Replace with :

    Subsystem sftp /bin/false

  2. Hi,

    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.


  3. 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.

  4. 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

    Still, have a question? Get help on our forum!