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)
FTP (Mac):
- Open a terminal session or command prompt. Type:
ftp ftp.box.com
Then enter your Box username and password. - Type
passive on
- Type
epsv
- Use the
lcd
command to change your local directory - For example:
lcd /Users/user/Desktop
- To upload one file use
put
ftp>
put myfile.pdf <Enter>
- To upload many files, use
mput
ftp>
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 username@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 username@example.com --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 username@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 is FTP with support for the Transport Layer Security (TLS) and the Secure Sockets Layer (SSL) cryptographic protocols.
FTPS has two modes of operation:
- Implicit: Port 990 is implicit. No handshake.
- Explicit: Port 21. Also known as FTPES.
Firewall incompatibilities
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.
Two-Step Verification
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