How can we help?

We think these articles could help:

    See More
    Home > CrashPlan > Latest > Configuring > Configuring A Headless Client

    Configuring A Headless Client

    Applies to:
    • CrashPlan for Home

    Overview

    CrashPlan is designed with the assumption that the CrashPlan app and the CrashPlan service are running on the same machine. Although running the CrashPlan service on a machine without a graphical environment (i.e. running a headless client) is an unsupported feature, this article provides a process for doing so that some users have found useful.

    Unsupported Process
    The information presented here is intended to offer information to advanced users. However, Code42 does not design or test products for the use described here. This information is presented because of user requests.
    Our Customer Champions cannot assist you with unsupported processes, so you assume all risk of unintended behavior. You may want to search our support forum for information from other users.

    Definitions

    A headless CrashPlan app means that the CrashPlan service is running on a machine without a graphical environment (headless mode), like a Linux or Solaris server. Running a headless CrashPlan app allows you to remotely administer the CrashPlan service that is running as a backup destination.
    CrashPlan is comprised of two components:

    1. CrashPlan service: 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. The CrashPlan app:  This runs as an 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 the CrashPlan app.

    Before You Begin

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

    Considerations

    • Installing CrashPlan directly on a NAS device is unsupported. That means that our Customer Champions are unable to assist if you encounter any issues with this configuration.
    • Most NAS hardware isn't able to handle high-I/O operations like compression, encryption, and de-duplication, which are essential components of CrashPlan. We strongly recommend directly attached storage for best performance.
    • CrashPlan normally tries to use more CPU when it detects that a user is “away” or idle. Headless clients are almost always in this state, so CrashPlan will try to use a larger percentage of available CPU. If you observe high load when running a hosted client, consider lowering the allowed CPU percentage in the CrashPlan app.
    • If the CrashPlan app 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.
    • When you launch the CrashPlan app, it connects to the CrashPlan service on port 4282, which is bound to the loopback device 127.0.0.1, or localhost. This is the key point to being able to connect to the service remotely. Because the port is bound to the loopback device, you cannot connect to it directly via a public network interface.
    • CrashPlan does support backing up NAS where the share-point is mounted directly on the computer itself for Mac, Linux, and Solaris (Windows is unsupported).

    Using SSH

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

    Configuring a Headless Client

     

    1. Install and start engine on the text-only server (2.2.2.2).
    2. Install the CrashPlan app on the CrashPlan Desktop computer (1.1.1.1).
      Use Mac, Windows, Linux. It doesn't matter which platform you use.
    3. Close the CrashPlan app 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
    1. Open a terminal window on 1.1.1.1.
    2. Using SSH, forward port 4200 on 1.1.1.1 to port 4243 on 2.2.2.2.
      The command is: ​
    ssh -f -L 4200:localhost:4243 yourusername@2.2.2.2 -N
    1. On 1.1.1.1, open the CrashPlan app.
      Your CrashPlan app is now connected to the CrashPlan service on 2.2.2.2. You can now configure CrashPlan on 2.2.2.2.

    Switch Your CrashPlan App Back

    When you're done using the CrashPlan app on the text-only computer, switch your CrashPlan app 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
    1. Save your changes.

    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 You Begin

    • 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         *.* 

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

    Steps

    1. Enter the IP for SSH as you normally would, but don't open the connection yet. 
      Putty Step 1
    2. In the Connection > SSH > Tunnels section, add the following: 
      Putty Step 2
    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 app. Make sure the servicePort is 4200 in the conf/ui.properties file and restart the CrashPlan app.

    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
      • ~/Library/Application Support/CrashPlan/ui.properties (if port information is populated here, it will take precedence over ui.properties in /Applications)
    • Solaris (if installed as root): /opt/sfw/crashplan/conf/ui.properties
    • Windows: C:\Program Files\CrashPlan\conf\ui.properties

    Headless Mode FAQ

    How do I put the CrashPlan app into Headless Mode?

    You do not have to do anything to run in 'headless mode'. Headless just means you do not run the CrashPlan app UI. The CrashPlan service is running once you install the CrashPlan app.

    External Resources

    There are numerous resources on the Internet for installing CrashPlan on a NAS device. Here are a few how-to articles for several popular devices:

    For additional information on Putty and SSH port forwarding review the following:

    You must to post a comment.
    Last Modified
    11:17, 24 Oct 2014

    Page Rating

    2 of 5 found this page helpful.

    Tags