Difference between SFTP and Shell users

Overview

New users are created as SFTP or Shell users. The following explains the difference between these user types.

FTP users

FTP is not considered a secure protocol since all of your traffic (including your login information) is transferred over the Internet in plain text, where anyone could eavesdrop.

For this reason, DreamHost strongly recommends you only use an SFTP or Shell user. If you need to use FTP for any reason, see the FTP security article for instructions on how to change the protocol to FTP.

Comparison chart

The following chart displays the primary differences between SFTP and Shell users. Both protocols are equally secure to use.

Protocol Log in using FTP client Command line access Secure
SFTP Yes No Yes
SSH Yes Yes Yes

SFTP users

An SFTP user is required in order to upload a website you've created to DreamHost's servers, or to make changes to an existing website.

SFTP users are similar to FTP users except that the SFTP protocol uses an encrypted connection to access a server. Port 22 is used in your client to connect to the server via SFTP.

The FTP Users & Files page shows the username and the type of user it’s configured as.

manage users show info button

In the following example, the username is dh_test_user. Click the Show Info button to display details about this user.

manage users edit access settings

Here you can see the user is set as an SFTP user.

Shell users

Shell users are users who can connect via SSH and SFTP. The "Shell" is the Linux command line on your hosting server you can use to run commands.

Changing to a Shell user
manage users show info button
  1. From the FTP Users & Files page, click the Show Info button next to your user.
    manage users edit access settings
  2. On the bottom left, you can see Protocol SFTP which confirms the user is set as an SFTP user. You can change the user to a Shell user so it has SSH access by clicking the Edit Access Settings link.
    manage users select ssh
  3. From the dropdown, select SSH on.
    manage users select ssh
  4. Select the type of Shell you wish to use.

    When creating a Shell user, you are also given 4 shell options for the command line:

    • Bash – stands for Bourne-again shell, and is the default shell on Linux and Mac OS based systems.
    • Tcsh – is an enhanced version of the Berkeley UNIX C shell. It is a command language interpreter that can be used as an interactive login shell and a shell script command processor.
    • Ksh – also know as KornShell, and is an interactive command line language that can provide access to the UNIX system as well as other systems on which it’s implemented.
    • Zsh – a shell made for interactive use and is also a scripting language.

    See the following article for more information about using available shells at DreamHost:

    Bash is the default Shell type. Click Save Changes.

    2019-11_panel_new_manage_users_09.fw.png
  5. You can now see Protocol SSH is set as the user type.

Did this article answer your questions?

Article last updated PST.

Still not finding what you're looking for?