August 22, 2026

Bulk onboarding over WinBox: bringing the devices SSH can't reach into management

A chunk of every MikroTik fleet sits outside centralized management because SSH was never enabled, or was closed years ago. Here's how to onboard those devices at scale over WinBox alone, without sending a technician to every site.

AI-translated from Italian. Have a correction? Drop us a line.

Ask an ISP how many MikroTik devices they have in the field and you'll get a number. Ask how many are under centralized management, and the number shrinks. The gap isn't neglect. It's the devices installed years ago, at end-customer sites, where SSH was never turned on or was closed off at some point, and today answer only to WinBox.

These devices work. They cause no problems, until they do. And when they do, there's no configuration backup, nobody knows which RouterOS version they're running, and troubleshooting means connecting to each one by hand.

The cost of that gap

Onboarding a device the manual way means opening WinBox, authenticating, running the onboarding script, checking the result, moving to the next one. Five minutes per device on a good day. Over two hundred devices, that's more than two working days of a technician who could be doing something else. On a larger fleet, the math stops working entirely: the project gets postponed, and the devices stay off the platform.

The paradox is that automation has existed for years, but it assumes SSH. Every provisioning tool, ours included, opens an SSH session and works from there. No SSH, no automation, and you're back to doing it by hand.

WinBox is not just a GUI

Port 8291, the WinBox port, doesn't only serve the graphical interface. It also exposes a full RouterOS terminal session, the same one you get from "New Terminal" inside WinBox, encrypted, with its own authentication.

That changes the problem. If you can run commands over that port, then any device reachable over WinBox is a device you can automate. You don't need to enable SSH first, and you don't need someone on site to do it by hand.

How it works in practice

You upload a CSV with the list of devices: address, credentials, and a name if you have one — if you don't, it's read straight from the device's own system identity.

From there, the system does three things per row, in parallel:

It picks the channel on its own. It tries SSH first. If SSH doesn't answer, it falls back to WinBox. Nobody has to decide device by device, and the report shows which channel was used for each one. If you already know a device has SSH closed, you can flag it in the CSV so the useless attempt is skipped entirely — on large fleets, where SSH is often filtered rather than closed outright, that wasted attempt costs a timeout per device.

Bulk onboarding in progress: the channel used and the state for every device

It checks before writing anything. It reads identity, version and device-mode for every device and tells you upfront which ones are onboardable and which aren't. This matters because there's a category of devices where onboarding simply isn't possible by design: those running in home device-mode have fetch and scheduler disabled, and re-enabling them requires physical access to the device. There's no remote workaround, on any channel. Better to know that before the campaign starts than to discover it halfway through.

Pre-check: devices ready with the chosen channel, those blocked by device-mode and those unreachable, each with its reason

It runs the job and reports back. It creates the device on the platform, fetches the onboarding script, and runs it on the device. If something fails, the message tells you exactly what went wrong on that specific device, so you can retry just that one.

Campaign completed: log, retry and undo remain available on every row

RouterOS 6 and 7

Real-world fleets aren't uniform. Alongside recent devices there are always ones installed years ago, still on RouterOS 6, that nobody has upgraded because they work fine.

Between the two major versions, things that matter change: the slash-based command syntax doesn't exist on 6, the terminal behaves differently, and some menus available on 7 aren't there at all. These are differences you only find by testing against real devices. Support for 6.x has been verified on RouterOS 6.49, not assumed from the documentation.

Credentials stay where they are

One detail matters more than it looks: the tool runs inside the network of whoever is using it, as a container on the technician's own machine.

That's not only about reachability, though end-customer devices are often only reachable from there. It's also why device credentials never leave that network: they stay in the container, encrypted, and are never uploaded to the platform. On a fleet made up of third-party customers' equipment, the difference between "I keep the credentials" and "I upload them to a service" is not a technicality.

If something goes wrong

Every onboarding is reversible. The tool knows how to undo what it wrote: it removes the objects it created from the router, restores services to how they were, and deletes the device from the platform.

Before touching anything, it shows you the exact list of what it would remove, device by device, and only acts after you confirm. This isn't a box-ticking safeguard: it removes only the objects it recognizes as its own, never by wiping indiscriminately, because on a production device guessing means erasing the customer's configuration.

What actually changes

This isn't a feature that does something new. It's a feature that removes an assumption: that automating a MikroTik device requires SSH.

The practical result is that "let's bring the legacy fleet under management" stops being a quote for days of technician time and becomes a CSV you upload.

Bulk onboarding over WinBox: bringing the devices SSH can't reach into management — OptiWize