Access your CHIP Debian from the Web

Make your NextThingCo CHIP accessible from anywhere via the Yaler relay.

Prerequisites

Setting up your device requires a relay domain. Please sign up to get one.

Setting up the hardware

Make sure the CHIP is connected to the Internet via Ethernet, Wi-Fi or 3G.

To flash Debian use the Flasher Chrome plugin or follow this tutorial.

(On the CHIP Pro, press the button before plugging in USB.)

Installing YalerTunnel on Debian

Follow these steps to install YalerTunnel on the CHIP.

  1. Open a shell on your CHIP (default login is chip, password chip), or type
    $ cd ~
  2. Update apt-get with
    $ sudo apt-get update
  3. Download and install libssl with
    $ sudo apt-get install libssl-dev
  4. Download and install gcc and make with
    $ sudo apt-get install build-essential
  5. Create a yalertunnel directory
    $ mkdir yalertunnel
    $ cd yalertunnel
  6. Download, unzip and build the YalerTunnel source
    $ wget http://s3.yaler.net/yalertunnel/YalerTunnel2.src.tar.gz
    $ tar xfzmv YalerTunnel2.src.tar.gz
    $ ./configure && make
  7. Done. Now either enable Web access or SSH access.


Web access

Prerequisites

A Web server or service has been installed and is running on the CHIP.

Enabling Web access on Debian

How to configure YalerTunnel on your CHIP to make a local Web service accessible from anywhere.

  1. Download the yalertunnel.service startup script
    $ sudo wget -O /lib/systemd/system/yalertunnel.service http://s3.yaler.net/chip-debian/yalertunnel.service
  2. Create a symbolic link
    $ sudo ln -s /lib/systemd/system/yalertunnel.service /etc/systemd/system/multi-user.target.wants/yalertunnel.service
  3. Open the yalertunnel.service script with
    $ sudo vi /lib/systemd/system/yalertunnel.service
    Check the path (default: /home/chip/yalertunnel), then use vi commands to set the port of the local Web service (default: 80), and set your relay domain
    1 [Unit]
    
    7 ExecStart=/home/chip/yalertunnel/yalertunnel server 127.0.0.1:80 try.yaler.io:80 RELAY_DOMAIN -min-listeners 1

    Do not change the local IP (default: 127.0.0.1), unless the Web service runs on a separate device in the same network.

  4. Reboot your CHIP to run the script
    $ sudo reboot
  5. Done. Now access your device from any Web browser or with Curl or from iOS or from Android (and resolve errors).

Disabling Web access on Debian

How to remove YalerTunnel to disable Web access from anywhere.

  1. Open a shell on your CHIP and type
    $ sudo systemctl stop yalertunnel.service
    $ sudo rm /etc/systemd/system/multi-user.target.wants/yalertunnel.service
    $ sudo rm /lib/systemd/system/yalertunnel.service
    $ sudo reboot


SSH access

Prerequisites

The SSH daemon sshd is running (per default) on the CHIP.

Enabling SSH access on Debian

How to configure YalerTunnel on your CHIP to allow SSH access from anywhere.

  1. Download the yalertunnel-ssh.service startup script
    $ sudo wget -O /lib/systemd/system/yalertunnel-ssh.service http://s3.yaler.net/chip-debian/yalertunnel-ssh.service
  2. Create a symbolic link
    $ sudo ln -s /lib/systemd/system/yalertunnel-ssh.service /etc/systemd/system/multi-user.target.wants/yalertunnel-ssh.service
  3. Open the yalertunnel-ssh.service script with
    $ sudo vi /lib/systemd/system/yalertunnel-ssh.service
    Check the path (default: /home/chip/yalertunnel), then use vi commands to set the port of the local SSH service (default: 22), and set your relay domain
    1 [Unit]
    
    7 ExecStart=/home/chip/yalertunnel/yalertunnel proxy 127.0.0.1:22 try.yaler.io:80 RELAY_DOMAIN

    Do not change the local IP (default: 127.0.0.1), unless the SSH service runs on a separate device in the same network.

  4. Reboot your CHIP to run the script
    $ sudo reboot
  5. Done. Now access your device with Putty or with SSH (for Linux, Mac OS X).

Disabling SSH access on Debian

How to remove YalerTunnel to disable SSH access from anywhere.

  1. Open a shell on your CHIP and type
    $ sudo systemctl stop yalertunnel-ssh.service
    $ sudo rm /etc/systemd/system/multi-user.target.wants/yalertunnel-ssh.service
    $ sudo rm /lib/systemd/system/yalertunnel-ssh.service
    $ sudo reboot


Troubleshooting

How to fix common issues.


To enable Web and SSH access at the same time, or tunnel another protocol, please get in touch.


Creative Commons License This work by Yaler GmbH is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.