Home About Tools Projects Guides & Blog ⚡ Hire Me ✦ Websites Contact →
🌐 Networking

How to Upgrade UniFi Access Point Firmware via SSH

Most of the time you'd update UniFi firmware through the controller, but there are situations where that isn't an option. Maybe the device is in a failed adoption state, stuck on an incompatible firmware version, or you need to downgrade to an older release. SSH gives you a direct line to the device regardless of what the controller thinks of it.

The process is straightforward: SSH in, grab the firmware URL from Ubiquiti's download site, run one command. Here's the full walkthrough.

When Would You Use This?

  • Device stuck in a bad state, controller can't push an update because the device won't fully adopt
  • Firmware downgrade, rolling back to an older version the controller UI won't offer
  • Controller unavailable, you need to update the device but don't have access to the Network Application
  • Unsupported firmware gap, device is too far behind for the controller's update path to reach directly

Step 1, Connect via SSH

🔌 SSH Connection

You'll need an SSH client, the built-in Terminal on macOS/Linux, Windows Terminal, or PuTTY on Windows all work fine.

🖥️
Windows Terminal / PowerShell
OpenSSH is built into Windows 10 and 11. Open Terminal or PowerShell and use the ssh command directly.
🍎
macOS / Linux Terminal
SSH is built in. Open Terminal and connect with the same command.

Replace 192.168.1.x with the IP address of your UniFi device. You can find it in your router's DHCP lease table, or in the UniFi Network Application under Devices.

Default SSH Credentials

If the device hasn't been adopted into a controller yet, use the factory defaults:

FieldValue
Usernameubnt
Passwordubnt
ℹ️
Adopted devices use controller credentials
If the device has been adopted by a UniFi controller, the SSH password will have been set to whatever is configured under Settings → System → Advanced → Device SSH Authentication in the Network Application. The default ubnt/ubnt credentials won't work on adopted devices unless you've explicitly kept them.
SSH
# Connect to the UniFi device, replace IP with your device's address
ssh ubnt@192.168.1.x

# You'll be prompted for the password, then land at a shell prompt:
# BusyBox v1.x.x (...)
# ubnt@UniFi:~$

Step 2, Find the Firmware URL

🔗 Firmware Download
  • 1
    Go to the Ubiquiti downloads page
    Go to ui.com/download in your browser.
  • 2
    Find your device
    Search for or browse to your specific device model (e.g. UAP-AC-Pro, U6-Lite, USW-Flex-Mini). Make sure you're on the correct hardware variant, firmware is not cross-compatible between models.
  • 3
    Copy the firmware download link
    Right-click the firmware download button for the version you want and select "Copy link address" (Chrome/Edge) or "Copy Link" (Firefox/Safari). Do not left-click, you need the direct URL, not the downloaded file.
Check the device model carefully
UniFi has multiple hardware revisions for many devices (e.g. UAP-AC-Pro vs UAP-AC-Pro-Gen2). Flashing the wrong firmware can brick the device. If you're unsure of the exact hardware version, check the label on the underside of the device or look it up in the controller before proceeding.

The URL you've copied will look something like this:

Firmware URL example
https://dl.ui.com/unifi/firmware/U7PG2/6.6.62.14481/BZ.qca956x_6.6.62+14481.230912.1852.bin

Step 3, Run the Upgrade Command

⚡ Upgrade

Back in your SSH session, run the upgrade command followed by the firmware URL you copied:

SSH, UniFi Shell
# Paste your firmware URL after the upgrade command
upgrade https://dl.ui.com/unifi/firmware/U7PG2/6.6.62.14481/BZ.qca956x_6.6.62+14481.230912.1852.bin

That's it. The device handles the rest automatically.

What happens next

Upgrade process, what you'll see
Download, the device fetches the firmware directly from Ubiquiti's servers. You'll see download progress output in the terminal.
Verification, the firmware image is checksummed to confirm it downloaded correctly and is genuine.
Flash, the new firmware is written to the device's storage. Do not disconnect power during this stage.
Reboot, the device reboots automatically into the new firmware. Your SSH session will drop, this is normal. Give it 2–3 minutes to come back online.
🚨
Do not cut power during the flash
Once the flash stage begins, interrupting power to the device will corrupt the firmware and potentially brick it. If the device is PoE-powered, make sure the switch port or PoE injector is stable and nothing will disconnect it during the upgrade. The whole process typically takes under 2 minutes.

Verifying the Upgrade

✅ Verification

Once the device comes back online, SSH in again and check the firmware version to confirm the upgrade succeeded:

SSH, UniFi Shell
# Check the current firmware version
info

# Example output:
# Model:        UAP-AC-Pro
# Version:      6.6.62.14481
# MAC Address:  xx:xx:xx:xx:xx:xx
# IP Address:   192.168.1.x

The version number should match the firmware you flashed. You can also confirm it in the UniFi Network Application under Devices, the firmware version column will update once the device re-adopts.

Troubleshooting

"Connection refused" or SSH not responding

SSH is disabled by default on some UniFi device configurations. Enable it from the Network Application under Devices → [Device] → Settings → SSH, or enable it during initial setup. If the device is unreachable entirely, check it has a valid IP and is on the same network segment.

Upgrade command hangs or fails to download

The device downloads firmware directly from Ubiquiti's CDN, it needs internet access. If the device is on an isolated VLAN or behind a firewall that blocks outbound HTTPS, the download will fail. Either temporarily allow outbound access or host the firmware file on a local HTTP server and use that URL instead.

"Invalid firmware" or checksum error

You've likely got the wrong firmware for the device's hardware variant. Double-check the exact model on the device label and re-download the correct firmware from ui.com/download.

Useful companion commands
info, shows device model, firmware version, IP, and MAC address
reboot, reboots the device cleanly from SSH
set-inform http://CONTROLLER-IP:8080/inform, re-adopts the device into a controller after upgrading
J
Jack Davies
IT Engineer · M365 & Intune Specialist

Jack is an IT Technical Engineer based in the UK, working day-to-day with Microsoft 365, Intune, and Entra ID across a range of businesses. He holds the MS-900 certification and is studying for a BSc in Cyber Security through the Open University. Outside of work he builds and documents home lab projects, writes guides on this site, and takes on M365 consulting work for small businesses.

About Jack → LinkedIn →
// monthly tips

Get M365 tips in your inbox

Practical Intune and Microsoft 365 tips, once a month. No spam, no fluff.