Initial thoughts
The purpose of this setup is to be able to SSH into your Pi without needing to make your phone into a hotspot, which requires cellular service. I can confirm that I was able to succesfully SSH into a Raspberry Pi 4B over Bluetooth using the free Termius app and an iPhone (iOS 18), which had both cellular and wifi disabled.
Most of the info I could find on this setup seemed like it was either outdated or said the idea was impossible, which is an inaccurate statement in 2025. I also found another, hard-wired, solution in this YouTube video, but it requires a powered USB hub and more dongles, which isn't really ideal if you want to reduce your device footprint and cord clutter.
Step 1: Install the required programs
Install blueman (Bluetooth manager) on the Raspberry Pi:
sudo apt update
sudo apt install bluez blueman bluez-tools
-
Install dnsmasq (DHCP server):
sudo apt install dnsmasq
-
Install iptables (Firewall and routing tool):
sudo apt install iptables
-
Enable SSH on your Raspberry Pi (if you haven't already):
sudo raspi-config
Tip: Go to Interfacing Options > SSH > Enable.
Step 2: Pair Raspberry Pi with iPhone
- Open Blueman Manager on your Raspberry Pi.
blueman-manager
- Enable Bluetooth on your iPhone and pair it with the Raspberry Pi by clicking Search in Blueman.
- Once paired, ensure the Bluetooth connection is active.
Step 3: Set up Network Access Point (NAP)
- In Blueman Manager, go to the View menu > Local Services > Network Settings.
- Under Services, check the Network Access Point (NAP) checkbox.
- Select dnsmasq as the DHCP server to assign IPs to the connected device.
- Set PAN support and DUN support to Network Manager.
Step 6: Reboot both devices
Reboot the Raspberry Pi:
- Restart your iPhone and ensure it is still connected to the Pi via Bluetooth.
sudo reboot
Step 7: Verify the network connection
Check the IP address of the Pi's pan1 interface:
ifconfig pan1
Tip: You should see an IP like 192.168.1.10 or 10.0.63.1 (or similar).
Step 8: SSH into the Raspberry Pi from the iPhone
- On your iPhone, install an SSH client like Termius.
- In Termius, use the Pi's pan1 IP (from ifconfig) to connect to the Raspberry Pi:
- Host: Enter the IP address of the Pi's pan1 interface.
- Port: 22 (default SSH port).
- Username: pi (or whichever user you use).
- Password: Enter your Raspberry Pi password.
- Once connected, you should have full SSH access to the Raspberry Pi via Bluetooth PAN.