Skip to main content
SSH File Transfer Protocol (SFTP) uses secure shell encryption to enable you to securely send and receive files. Box’s SFTP service is available to Business and Enterprise accounts, except trial accounts, and must be enabled by your Box admin or co-admin.  Box’s SFTP service is not available for Personal accounts (Free or Pro). Box FTP Server is a separate integration, enabled by default from Enterprise Settings > Box Clients > Server. We recommend using SFTP as a more secure option.

Enable Box SFTP

As an admin or co-admin:
  1. Go to the Admin Console, then select Integrations.
  2. Select Box SFTP Server.
  3. Click Availability Status and select Available for all users. You can also enable SFTP for select users and groups, or for all users except select ones.
  4. Click Save.
Note: You can’t grant SFTP access to specific folders. Box SFTP always provides access to the entire account.

Connect to Box’s SFTP server

  1. Choose an SFTP client.
  2. Use the following parameters:
    • Server hostname: sftp.services.box.com
    • Username: Your Box account email address (SSO login is not supported)
    • Password: Your Box account password
    • Port: 22
  3. During connection, verify the Host key parameters:
    • Algorithm: ecdsa-sha2-nist256
    • Fingerprint: SHA256:An60IqVqISRa3o2GRscno7QLnsTrIy0BGIchIAvJ9ZM

Firewall

If the connection to the SFTP server cannot be established, verify the URL you are using to access the Box SFTP service permits connection to port 22.  A list of SFTP service URLs is available here.

Single Sign-On (SSO)

Currently, Box SFTP does not support Single Sign-On (SSO). If SSO is enabled for your account, you must create a Box-specific password to supplement your SSO login.  To do this, use a browser to log in to your Box account and go to Account Settings > Account.  Then scroll down to the Authentication section. If you’re using SSO, you must create a unique password to use with external applications that do not support SSO.  If you have forgotten your current password, you can reset it.

Box SFTP features

Box SFTP implements the following features:
  • Authenticate with username and password
  • Create directory
  • Delete file or directory
  • Download file
  • Preserve file creation and modification times
  • Rename, move file or directory
  • Resumable downloads
  • Traverse directories
  • Upload file up to 32 GB in size
IMPORTANT:  Box SFTP limits directory listings to their first 100,000 items.

Unsupported operations

Box SFTP does not support the following operations:
  • Batch process
  • Change folder creation and modification times
  • Change group
  • Change last access time
  • Change owner
  • Change permissions
  • Change weblink creation and modification times
  • Download internal Box files (for example, Notes, Canvas)
  • Link
  • Resume upload
  • Symlink
  • Truncate file
  • Upload files with 0 bytes in size
  • Upload internal Box files (for example, Box Notes, Box Canvas)

Using SFTP through the UNIX command line

Authenticate user

sftp -oPort=22 "user@example.com@sftp.services.box.com"

Change directory

Change remote directory to path. cd path

Create directory

Create a directory specified by path. mkdir path

Delete directory

Remove a directory specified by path. rmdir path

Delete file

Delete a file specified by path. rm path

Display remote working directory

pwd

Download file or folder

Retrieve remote-path and store it on the local machine.  If local-path is not specified, it is given the same name it has in Box. get [-apR] remote-path [local-path] -a: Resume partial transfers of existing files.
-p: Copy file or folder attributes date created and date modified.
-R: Copy directories recursively.

List files

Display a directory listing of either path or the current directory if path is not specified. ls [-l] [path] -l: Display additional details including ownership information.

Rename file or folder

Rename a file from oldpath to newpath. rename oldpath newpath

Resume download file or folder

Resume download of the remote-path.  Equivalent to get with the -a flag set. reget [-pR] remote-path [local-path]

Troubleshooting

Run sftp command with verbose flag, then inspect the output. # verbose logging
sftp -v -oPort=22 'user@example.com@sftp.services.box.com'
# very verbose logging
sftp -vv -oPort=22 'user@example.com@sftp.services.box.com'
# very very verbose logging
sftp -vvv -oPort=22 'user@example.com@sftp.services.box.com'

Upload file or folder

Upload local-path and store it in Box.  If remote-path is not specified, it is given the same name it has on the local machine. put [-pR] local-path [remote-path] -R: Copy directories recursively.
-p: Preserve file attribute date modified.

Using SFTP through curl

Create directory

curl sftp://sftp.services.box.com/ --user
"user@example.com:password" -Q 'mkdir path'

Delete file

curl sftp://sftp.services.box.com/ --user
"user@example.com:password" -Q 'rm path'

Delete folder

curl sftp://sftp.services.box.com/ --user
"user@example.com:password" -Q 'rmdir path'

Display a directory listing of path

curl sftp://sftp.services.box.com/path/ --user
"user@example.com"
curl sftp://sftp.services.box.com/path/ --user
"user@example.com:password"

Download file

curl -O local-path sftp://sftp.services.box.com/path/ --user
"user@example.com"

List directory files

Display a directory listing of the root directory. curl sftp://sftp.services.box.com --user "user@example.com"
curl sftp://sftp.services.box.com --user
"user@example.com:password"

Rename file or folder

curl sftp://sftp.services.box.com/ --user
"user@example.com:password" -Q 'rename oldpath newpath

Troubleshooting

Run curl command with verbose flag, then inspect the output. # verbose logging
curl -v sftp://sftp.services.box.com --user
"user@example.com"
# very verbose logging
curl -vv sftp://sftp.services.box.com --user
"user@example.com"
# very, very verbose logging
curl -vvv sftp://sftp.services.box.com --user
"user@example.com"

Upload file

curl -T local-path sftp://sftp.services.box.com/path/ --user
"user@example.com:password"
—ftp-create-dirs: Create missing directories.  When an SFTP operation uses a path that does not currently exist in Box, curl fails.

Using SFTP through FileZilla

Use Box’s SFTP service through FileZilla with the following server hostname and port: Server hostname: sftp://sftp.services.box.com
Port: 22 (default)

Using SFTP through other clients

To use Box’s SFTP service through other SFTP clients, refer to the respective client’s documentation.