Bootstrapping a device

Bootstrapping is the process of securely pairing the device with the qbee.io server. Here the initial trust between the device and the server is established through the exchange of keys. A typical bootstrap command will look like this and is given as an output from the qbee agent installation. This will be executed on the agent. If you are using a proxy or are interested in more options please go to the bottom of this page.

    sudo /opt/qbee/bin/qbee-bootstrap -k <bootstrap_key>

Warning

Depending on your platform this command might have a different path or command. Please refer to the output of your agent install.

Info

The bootstrap key can be found in the menu below the user name.

qbee-bootstrap-key

This initiates the communication with the server. You will see a feedback on the agent command line how the bootstrap process is commencing. During the process the new device has to be accepted in the qbee.io web app.

Tip

Your device needs to be able to resolve DNS and the firewall needs to allow to initiate output traffic. If problems occur under bootstrapping please try iptables -F OUTPUT. Then in qbee you go into configure->firewall and enable that for the resepctive devices. Even if the firewall is configured to "drop" all it enables qbee to get through.

Info

Depending on your settings you can enable "auto accept" for a certain bootstrap key or alternatively you need to accept each device into the platform. The later is the default setting.

Check if the IP of the device and the request time is correct and then approve the device in the qbee UI under Devices -> Pending devices.

qbee-bootstrapping-accept-device

When the device is approved it takes a while before it is visible in the tree. Eventually it will appear under a group called "unassigned devices". This is important as there is no configuration associated with this group. First if you move the device into a group that has configuration or if you create a group and then define configuration this device is in a defined state. Do not forget to save the new tree

Tip

Any new device needs to be accepted in the "Pending devices" tab. When that is done it will appear under "unassigned devices" in the tree. Try reload the page if it does not appear. Move it to the correct group, save the new tree and then it will receive the valid configuration for that group.

qbee-tree-unassigned

The qbee agent can be called with more options. The complete set of settings (from version > 1.2) can be seen here:

# sudo /opt/qbee/bin/qbee-bootstrap -h

  bootstrap.sh [-h] [-k key] [-x proxy_address] [-X proxy_port] [-U proxy_user] [-P proxy_pass] [-m proxy_method] [-s server] [-p port] ``


    -h  Show this help text
    -k  Set the bootstrap key found in the user profile (required)
    -x  Specify a proxy host to use
    -X  Specify a proxy port to use (default: 3128)
    -U  Specify a proxy username
    -P  Specify a proxy password
    -m  Specify a proxy authentication method [ntlm|basic] (default: basic)
    -s  Set the server to bootstrap to. Don't set this if you are using www.app.qbee.io (default: device.app.qbee.io)
    -p  Set the server port to bootstrap to. Don't set this if you are using www.app.qbee.io (default: 443)

Tip

These settings allow to configure qbee connections through a proxy. Please note that we currently only support http proxy connections. But since the communication of the qbee agent is heighly encrypted this is no security concern.