Browser Version

Many faculty, staff, and students are taking advantage of the benefits of the Oregon State University Box Service and its convenient cloud storage for document editing, sharing, and collaboration. 
 
You can access your OSU Box account via web browser at http://box.oregonstate.edu/, which utilizes single sign-on (SSO) authentication with your OSU Network ID. While the web interface may not be ideal for all applications, it allows you to preview, upload, and download files. Box for Office Online will let you edit your documents stored on Oregon State Box with your OSU Office 365 online suite of apps.
 
If you need additional FTP functionality, the below sections will walk you through setting everything up.
 

Setting Up Box for SFTP

Unfortunately, other features such as Box Edit and Box Sync and Drive, which provide tighter integration with local apps and filesystems, are not currently officially supported for Linux. BUT, even though there is no Box Sync or drive client for the Linux platform, the functionality can be effectively emulated via the LFTP command!
First, you must create an external password. Login to Box for OSU, and go to your account settings. Then scroll down to the Authentication section and set your password:

 
Now you are ready to use LFTP to access your Box files.
 
Please note that you should never use the standard FTP protocol with ftp.box.com since your login credentials will be transferred across the network in clear text.  OSU Box will fail if you attempt an unencrypted FTP connections but even a failed FTP login attempt will send your credentials in cleartext so you want to be sure never to use the FTP protocol.
 

Using SFTP (lftp)

The lftp command is a powerful file transfer client that can be used with Box.  Box supports the secure FTPS protocol and you can use this with lftp for secure file transfer and mirroring.  Here is an example of how to connect using FTPS.  The lftp command is smart enough to auto-negotiate to use FTPS but this example forces the issue to make absolutely sure unencrypted FTP is never attempted.
 
$ lftp
lftp :~> set ftps:initial-prot ""
lftp :~> set ftp:ssl-force true
lftp :~> set ftp:ssl-protect-data true
lftp :~> open ftps://ftp.box.com:990
lftp ftp.box.com:~> user username@oregonstate.edu
Password:
lftp username@oregonstate.edu@ftp.box.com:~> ls
...
 
Once you are connected, you can use normal FTP commands like ls, get, put, etc.
 
One interesting application of lftp with Box is using it to mirror a local directory similar to what Box Sync does, albeit in a more manual way. This is best explained by example, so here is a sample script that mirrors a local ~/Documents/MyProject directory to Box into a folder of the same name (MyProject):
 
#!/bin/bash
lftp -c 'open -e "set ftps:initial-prot C"; \
   set ftp:ssl-force true; \
   set ftp:ssl-protect-data true; \
   open ftps://ftp.box.com:990; \
   user username@oregonstate.edu; \
   mirror --reverse --delete --no-perms --verbose "~/Documents/MyProject" MyProject; '
 
When you run this script, it will prompt for a password and then mirror your local directory to Box. Each time you run it, it will re-sync any changes on the local filesystem with the copy on Box. The --verbose option causes lftp to tell you exactly what it is doing. If you are doing this via crontab, you probably want to remove that, and you will also need to put the password in the script (do this with caution).
 

Troubleshooting

Note that when using the above method, you may have it fail with this message:
 
Login failed: 530 Box: CAPTCHA is required. Please log into www.box.com in a web browser, and then try again.
 
If that happens, just go to https://box.oregonstate.edu/ and log in using your OSU SSO credentials, and the script should be working.