Support

  • Home
  • Support Site Index
  • Print Page
See 5 Expert Backup Tips from Joe Kissell, author of "Take Control of CrashPlan Backups."
Table of Contents
  • Connect to a Headless CrashPlan Desktop
    • Overview
      • Consideration
    • Before You Begin
    • How It Works - Using SSH
    • How It Works - Switch Your CrashPlan Desktop Back
    • How It Works - Using PuTTY
    • Consideration
    • ui.properties file location

Connect to a Headless CrashPlan Desktop

Overview

CrashPlan was built with the assumption that the desktop process and the service/backup engine would be running on the same machine. Although running on a machine without a graphical environment (running a headless client) is an unsupported feature, here is a process that some have found useful.

A headless CrashPlan Desktop means that CrashPlan is running on a machine without a graphical environment (headless mode), like a Linux or Solaris server. Running a headless CrashPlan Desktop allows you to remotely administer CrashPlan that is running as a backup destination.

CrashPlan is comprised of two components:

  1. CrashPlan engine: This is always running from the moment you install CrashPlan and continues to run even if you log out. It is responsible for the actual backup functions.
  2. CrashPlan Desktop: This runs as a desktop application that you can launch from a user's desktop. This is what most people mean when they refer to “CrashPlan.” Headless means you do not open CrashPlan Desktop.

Consideration

Articles about unsupported uses of CrashPlan (including headless clients) are intended to offer information to expert, tech-savvy users under specific situations. As with all unsupported uses, you assume the risk if you run into anything unexpected, including the possibility that the Support team might not be able to resolve your issue.

Before You Begin

  • Have a good understanding of networking, TCP/IP
  • Feel comfortable using a command line terminal
  • Be familiar with SSH

How It Works - Using SSH

Use an SSH tunnel to connect the CrashPlan Desktop on one machine (1.1.1.1) to the CrashPlan Engine on a computer that is text-only (2.2.2.2).

  1. Install and start engine on the text-only server (2.2.2.2).
  2. Install CrashPlan on CrashPlan Desktop computer (1.1.1.1).
    Use Mac, Windows, Linux. It doesn't matter which platform you use.
  3. Close the CrashPlan Desktop if it's running.
  4. On 1.1.1.1, navigate to CrashPlan\conf on 1.1.1.1.
  5. Open file ui.properties in a text editor. (locations)
  6. Edit the line:
    #servicePort=4243

    to this:

    servicePort=4200
  7. Open a terminal window on 1.1.1.1.
  8. Using SSH, forward port 4200 on 1.1.1.1 to port 4243 on 2.2.2.2.
    The command is:
    ssh -L 4200:localhost:4243 yourusername@2.2.2.2
  9. On 1.1.1.1, open the CrashPlan Desktop.
    Your CrashPlan Desktop is now connected to the CrashPlan Engine on 2.2.2.2. You can now configure CrashPlan on 2.2.2.2.

How It Works - Switch Your CrashPlan Desktop Back

When you're done using the CrashPlan Desktop on the text-only computer, switch your CrashPlan Desktop back.

  1. On 1.1.1.1, open the ui.properties file in a text editor. (locations)
  2. Comment out the servicePort line.
    #servicePort=4200
  3. Save your changes.

How It Works - Using PuTTY

Putty is a free Windows SSH client that you can use to do the port-forwarding necessary to control a remote CrashPlan client.

Before we get started:

  • Be sure CrashPlan is running on your remote machine.
  • Verify on the headless machine (with netstat) that it is listening on port 4242 on all addresses and on port 4243 on the local address (This is the UI service port).
netstat -na | grep LISTEN | grep 42

Output should look like this:

username$ netstat -na | grep LISTEN | grep 42
tcp4       0      0  *.4242                 *.*                    LISTEN
tcp4       0      0  127.0.0.1.4243         *.*                    LISTEN

We want to use SSH to tunnel a local Windows port (4200) to the remote host's service port (4243).

  1. Enter the IP for SSH as you normally would, but don't open the connection yet.
    host configuration
  2. In the Connection > SSH > Tunnels section, add the following:
    port configuration
  3. Click the Add button.
    If you don't click the Add button, the CrashPlan connection will fail.
  4. Now open the session and log in.
  5. You can use telnet to confirm the connection:
telnet localhost 4200

A successful connection displays “Connected to HOST_IP” with a long, encrypted string. It looks something like this:

username$ telnet 10.10.42.183 4200
Trying 10.10.42.183...
Connected to 10.10.42.183.
Escape character is '^]'.
0??A???A8???Tţ?pm??.R??JM???AZ?1?jB?????١??ɀAIcKeyMessageY??0??0??      *?H??
                                              nz^@~?Y?Wq#@AE????7r???k!.?^\??$?]?[{??!'?!~>]}????b??ʣ?J&H;????"0?`PC@G~??? ???k[??B[??=b#?_?#x)H?j?~Hwv???????]{??%8?kT?c?A?

Once you have confirmed the connection you should be able to stop the local CrashPlan Desktop application, make sure the servicePort is 4200 in the conf/ui.properties file and restart the Desktop UI.

Consideration

If the CrashPlan client you use to run the GUI is configured only to connect to the headless client, then you must upgrade manually. It will not upgrade on its own if it does not connect to a local CrashPlan service.

ui.properties file location

  • Linux (if installed as root): /usr/local/crashplan/conf/ui.properties
  • Mac: /Applications/CrashPlan.app/Contents/Resources/Java/conf/ui.properties
  • Solaris (if installed as root): /opt/sfw/crashplan/conf/ui.properties
  • Windows: C:\Program Files\CrashPlan\conf\ui.properties