Many faculty, staff, and students are taking advantage of the benefits of the Oregon State University Box Service
and it's convenient cloud storage for document editing, sharing, and collaboration.
You can access your OSU Box account via web browser at http://box.oregonstate.edu/
. This provides the convenience and security of single sign-on (SSO) authentication with your OSU Network ID. While the web interface may not be ideal for all applications, it does give you access to your account as well as the ability 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.
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!
But first you must first 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.
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 :~> 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 email@example.com
lftp firstname.lastname@example.org@ftp.box.com:~> ls
Once you are connected, you can use normal FTP commands like ls, get, put, etc.
One interesting application of lsftp with Box is using it to mirror a local directory similar to what Box Sync does, albeit in a more manual way. The best way to explain this is by example so here is a sample script that mirrors a local /u/username/MyProject directory to Box into a folder of the same name (MyProject):
lftp -c 'open -e "set ftps:initial-prot ""; \
set ftp:ssl-force true; \
set ftp:ssl-protect-data true; \
open ftps://ftp.box.com:990; \
user email@example.com; \
mirror --reverse --delete --no-perms --verbose "/u/username/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 pass along the password in the script so do that with caution.
Note that when using this 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.