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. Box's SFTP service is not available for Personal accounts (Free or Pro).
Connecting to Box's SFTP server
To connect to Box's SFTP server:
- Choose an SFTP client.
- 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
- 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 whether the following IP address and port are permitted:
- 74.112.186.169:22
- 74.112.186.170:22
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
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.