Dataplicity Developer Hub

Dataplicity Documentation

Here you'll find announcements for new features and comprehensive guides to help you integrate Dataplicity into your Raspberry Pi projects.

Get Started    Announcements

Access Pi via SSH

Dataplicity Porthole redirects TCP ports from your remote Linux devices to local ports on a Windows or a Mac host. Unlike purely SSH-based solutions, Porthole gives you SSH access despite NAT and without the need for dynamic DNS, remote re-dialling scripts, or static IP addresses.

In this article we'll go through setting up porthole with classic SSH via Putty. On Mac, you can use iterm2 directly in much the same way.

With porthole:

  • Connections do not expire.
  • Ports will not disappear after a few hours.
  • You manage your own port allocations both remotely and on your local host.

On Windows, Porthole also runs as a system service and is intended for 24x7 production use.

Supported Operating Systems
Dataplicity Porthole supports installations on Mac, Windows 7, 10 and Server 2016 or newer.

Remote devices must be running an installation of Dataplicity Agent more recent than 0.4.27.

Setting up Raspberry Pi for SSH access

On newer versions of Raspbian, SSH is disabled by default so we must first enable it.

sudo systemctl enable ssh
sudo systemctl start ssh

sudo systemctl enable regenerate_ssh_host_keys.service
sudo systemctl start regenerate_ssh_host_keys.service 

Installing Porthole

Installation only takes a couple of seconds. When the app has been downloaded the first installation window will appear. Click Next.

Following that, the installer will ask you where you want to have porthole installed. The most optimal option is chosen by default. Click Next.

Then, finally you will be asked to confirm that you want to install porthole and that you agree the installer will run with administrator privileges. Simply click Next and then in the pop up window click Yes.

When installed click Finish on the last installation window. You are now ready to start using Dataplicity Porthole!

Redirecting a port

To start the app select Dataplicity Porthole from the start menu or double click on the desktop shortcut that was created.

Porthole runs with Administrator privileges.

Due to the nature of the app and it's infrastructure it has to be run with administrator privileges. This means that each time you start the app there will be a pop up window where you have to agree to running the app in privileged mode. Simply click Yes and the app will start.

On first launch the app will ask you to provide login details. These are your dataplicity web account login and password. After logging in the first screen you will see is the list of forwarded devices.

Please note that this is not the list of all your, devices as you would see on the web, but a list of devices that are set up for port forwarding.

To add a new device click on Add new button in the centre or at the top menu.

In the next window you will see three steps.

  1. Assign local port - the port on your PC where you will receive data from your Raspberry Pi device.
  2. Select device to be forwarded - choose what device you want to receive data from on your PC.
  3. Add remote port - choose the port of your Raspberry Pi device in step 2 from which you want to receive the data.

When all the steps have been completed click on Assign. Your list of forwarded devices will then be updated.

Connect from Windows:

Launch Putty and it will bring you straight to the login window. Fill it out with the following details:

  • Host Name (or IP address): localhost.
  • Port: 9871.
  • Connection type: SSH.

When that's done click on Open button. Putty will now go through a process of logging you in. You will see the following warning on your first login:

SSH key

Please note that the ssh key that you see in the warning window is a key of your Raspberry Pi device. This key does not reflect any Dataplicity servers, it is a direct connection to your Raspberry Pi.

The warning asks whether you trust connecting to the server. Click on Yes. You will then be logged in to your Raspberry Pi. Following that a connection will open and you will be asked to provide login credentials. Default login for Raspberry Pi devices is pi and the password is raspberry.

You are now logged in to your Raspberry Pi device with the use of SSH.