Box supports FTP (file transfer protocol) for Business and Enterprise customers. It is not available for Personal accounts (Free or Pro) or trial accounts. The purpose of FTP is for bulk migration of data. FTP is designed to be used for initial bulk upload and occasional bulk download of files from your account -- we do not recommend FTP as your main access method.
The user can use FTP, FTPS, or FTPES. SFTP is not supported. Note when you upload a file with ftp, you will NOT get email notifications. This is intentional. Please note that we support Passive FTP, but not Active.
NOTE: Make sure you have FTP enabled for your account by going to the Admin console (ask the admin of the enterprise), then going to Apps, and then making sure FTP is enabled.
To Connect to Box with FTP Client
- Please see our FTP Overview article.
To Connect to Box with Command Line (Advanced users on Mac)
- Open a terminal session or command prompt. Type:
Then enter your Box username and password.
- Use the
lcdcommand to change your local directory
- For example:
- To upload one file use
put myfile.pdf <Enter>
- To upload many files, use
mput *.htm <Enter>
- Type quit to close the connection and go back to your original terminal window.
FTP with Windows Command Line:
Windows built-in ftp command line utility cannot support passive mode (even though "quote pasv" returns without any error). For customers that need command line ftp utility on Windows, please search for the "MOVEit Freely Free Command-line Client". Note: MOVEit Freely by default launches in active mode. You will need to use the -a argument when launching MOVEit Freely to start it in passive mode or use the passive command after the session is established to toggle passive mode.
FTPS with curl:
Open a terminal session
- To connect to Box via ftps over Port 21:
shell> curl -1 -v --disable-epsv --ftp-skip-pasv-ip -u email@example.com --ftp-ssl ftp://ftp.box.com
- To connect to Box via ftps over Port 990:
shell> curl -1 -v --disable-epsv --ftp-skip-pasv-ip -u firstname.lastname@example.org --ftp-ssl ftps://ftp.box.com:990
To upload a file:
Open a terminal session:
shell> curl -1 -v --disable-epsv --ftp-skip-pasv-ip -u email@example.com --ftp-ssl --upload-file filename ftp://ftp.box.com/
Without the trailing "/" in the dir name: "ftp://ftp.box.com/dir/", a "551 Box: Not Found" error will be generated.
Note: Curl doesn't stay connected like a typical connect command. For further help, type either command in your terminal: man curl or curl --help
FTPS has two modes of operation:
- Implicit: Port 990 is implicit. No handshake.
- Explicit: Port 21. Also known as FTPES.
Because FTP utilizes a dynamic secondary port (for data channels), many firewalls were designed to snoop FTP protocol control messages to determine which secondary data connections they need to allow. However, if the FTP control connection is encrypted using TLS/SSL, the firewall cannot determine the TCP port number of a data connection negotiated between the client and FTP server. Therefore, in many firewalled networks, an FTPS deployment will fail when an unencrypted FTP deployment works. This problem can be solved with the use of a limited range of ports for data and configuring the firewall to open these ports. For the data channel, Box uses ports 10,000 - 29,999. Verify that your firewall has these ports open.
SSO (Single Sign On)
FTP as a transfer protocol does not support single sign-on. 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 (if necessary) to the Create External Password section.
If you have Two-step verification turned on for your account, the workflow for logging in is as follows:
- Try and login normally with your Box specific password
- You will receive a text message containing a 6-character alphanumeric confirmation code separated by a space
- Login again with that 6-character code as your actual FTP password