# What is the most efficient way of connecting to Pritunl via raspberry pis?

**URL:** <https://forum.pritunl.com/t/what-is-the-most-efficient-way-of-connecting-to-pritunl-via-raspberry-pis/3538>\
**Category:** Pritunl\
**Tags:** pritunl-client\
**Created:** [September 16, 2025, 7:42pm UTC](https://forum.pritunl.com/t/what-is-the-most-efficient-way-of-connecting-to-pritunl-via-raspberry-pis/3538 "2025-09-16T19:42:39Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![macsire](https://forum.pritunl.com/letter_avatar_proxy/v4/letter/m/8e7dd6/32.png) [@macsire](https://forum.pritunl.com/u/macsire)\
**Post date:** [September 16, 2025, 7:42pm UTC](https://forum.pritunl.com/t/what-is-the-most-efficient-way-of-connecting-to-pritunl-via-raspberry-pis/3538/1 "2025-09-16T19:42:39Z")

</div>

@zach (Sorry to bring you into this but you have been the most helpful)

Looking for the best approach to have our multiple raspberry pis connect to our Pritunl server. 2 approaches we are looking into are the following:

1. Setup Ansible to upload the ovpn-profile onto our Raspbery pi devices and have it connect locally.
2. Install `pritunl-client` cli onto our Raspberry pis and have 1 user be used to connect a number of devices to it using the profile link.
  1. Installed it via these instructions: [Help to build arm client - #2 by zach](https://forum.pritunl.com/t/help-to-build-arm-client/3143/2)
  2. Once here, we would need to have all raspberry pis open to connect to our server which is not ideal for security sakes.

Wondering if this has been brought up on here in Pritunl.

---

<div class="post-metadata">

**Author:** ![zach](https://forum.pritunl.com/user_avatar/forum.pritunl.com/zach/32/1105_2.png) [@zach](https://forum.pritunl.com/u/zach)\
**Post date:** [September 18, 2025, 1:15pm UTC](https://forum.pritunl.com/t/what-is-the-most-efficient-way-of-connecting-to-pritunl-via-raspberry-pis/3538/2 "2025-09-18T13:15:46Z")

</div>

The CLI client has commands to import profiles. There is an API handler GET `/key/<org_id>/<user_id>` that will return a JSON struct with the `uri_url`. This can then be added to `pritunl://domain` to create the URI that can be imported into the client.

---

<div class="post-metadata">

**Author:** ![macsire](https://forum.pritunl.com/letter_avatar_proxy/v4/letter/m/8e7dd6/32.png) [@macsire](https://forum.pritunl.com/u/macsire)\
**Post date:** [September 30, 2025, 3:41pm UTC](https://forum.pritunl.com/t/what-is-the-most-efficient-way-of-connecting-to-pritunl-via-raspberry-pis/3538/3 "2025-09-30T15:41:44Z")

</div>

Hey @zach, coming back to this.

Since I got the VPN server working on Pritunl, we want to create mapping of the MAC SSID being like so: [3f3f3ff3gg.foo.com](http://3f3f3ff3gg.foo.com), [2h3h3h43kk.foo.com](http://2h3h3h43kk.foo.com), etc.

Previous concept:

1. Use Ansible to ssh into IoT devices
2. Add a ovpn.profile
3. Connect to the openvpn server

New concept:

1. Use Ansible to ssh into the IoT devices
2. Upload api token and secret onto IoT devices
3. Create the user using the MAC SSID and upload to Pritunl Server to be synced
4. Use the Python API Client to grab the temp URL token
5. Install `pritunl-client` and grab the temporary token URL that was pulled to import the profile and add via `pritunl://domain`

The issue that we are facing is our current IoT devices are on our original OpenVPN server. The connection will fail if we switch from the OpenVPN server to Pritunl where the SSH connection will drop.

What would be the most best/secure route to this?

UPDATE: I have been brainstorming where I create a Pritunl Bastion Host which communicates to the Pritunl Server. When a IoT device boots up for the first time, it will ssh into the Bastion Host which holds the API token and secret, create a user, pull the profile link, grab the tar file, and move the tar file to the IoT Device, and finally use `pritunl-client` to add the profile and connect.

 ![image](https://forum-static.pritunl.com/original/2X/e/ed17dc1e2b5b937d7492c3cd71d876e24755e426.png)

---

<div class="post-metadata">

**Author:** ![zach](https://forum.pritunl.com/user_avatar/forum.pritunl.com/zach/32/1105_2.png) [@zach](https://forum.pritunl.com/u/zach)\
**Post date:** [September 30, 2025, 11:18pm UTC](https://forum.pritunl.com/t/what-is-the-most-efficient-way-of-connecting-to-pritunl-via-raspberry-pis/3538/4 "2025-09-30T23:18:27Z")

</div>

The connection can be set to enable with `sudo pritunl-client enable <conn_id>` this will enable it to start on the next restart. The existing OpenVPN connection can be set to disconnect on the next restart.

The OpenVPN ChaCha20-Poly1305 cipher option in the Pritunl server settings should also be used for ARM devices. This will provide better performance as ARM devices don’t have AES-NI.

---

<div class="post-metadata">

**Author:** ![macsire](https://forum.pritunl.com/letter_avatar_proxy/v4/letter/m/8e7dd6/32.png) [@macsire](https://forum.pritunl.com/u/macsire)\
**Post date:** [October 1, 2025, 2:58pm UTC](https://forum.pritunl.com/t/what-is-the-most-efficient-way-of-connecting-to-pritunl-via-raspberry-pis/3538/5 "2025-10-01T14:58:30Z")

</div>

Thank you on the cipher option! We have a process of `curl`ing into our server and have that be used to access our devices rather than our previous being `ssh`ing.
