Difference between SFTP and Shell users


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.

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 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, SFTP, and (optionally) FTP. The "Shell" is the Linux command line on your hosting server, a useful alternative for advanced users.

Changing to a Shell user

manage users show info button

From the Files page, click the Show Info button next to your user.

manage users edit access settings

Here you can see 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

From the dropdown, select SSH.

manage users select ssh

Select the type of Shell you wish to use. Bash is the default Shell type. Click Save Changes.


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:

Did this article answer your questions?

Article last updated PST.

Still not finding what you're looking for?