Remote Installer User Guide

Install and manage software on a Linux computer or a Windows PC over SSH, a serial port (USB-serial / UART console), or on this computer itself.

ConnectSSH, Serial or Local Install packagesapt, dnf, pacman ... or winget Install a file.deb, .rpm, .sh, .zip, .msi ... Upload filesprojects, websites, shares DeploySamba, website, tunnel, Tailscale Servicesstart, stop, start at boot Luckfox boardsWi-Fi, camera, GPIO, monitor Troubleshootingcommon problems

Getting started top

On Windows

On Linux

Single file, no Python (64-bit PC with Ubuntu 22.04 / Debian 12 or newer):

  1. Copy RemoteInstaller-linux-x86_64 to the Linux computer.
  2. Once: chmod +x RemoteInstaller-linux-x86_64 (copying through Windows drops the executable mark).
  3. Start it from the desktop: ./RemoteInstaller-linux-x86_64. Settings go in RemoteInstaller-data/ beside it.

From the Python source, for any Linux including a Raspberry Pi (ARM) or an older system:

  1. Copy RemoteInstaller-linux.zip to the Linux computer and unzip it.
  2. Run sh RemoteInstaller/run-linux.sh. The first time it installs what's missing with sudo: python3-tk, python3-paramiko, python3-serial, python3-cryptography. --check only checks.

Differences on Linux:

Settings folder

Profiles, known SSH host keys, the vault, logs and saved installers are kept in:

RunningSettings folder
Portable exeRemoteInstaller-data\ next to the exe (so it travels on a USB stick)
Exe in a folder that can't be written (e.g. Program Files)%APPDATA%\RemoteInstaller
From source on Windows%APPDATA%\RemoteInstaller
On Linux~/.config/RemoteInstaller

Tools → Open settings folder opens it (creating it first if it doesn't exist yet).

Connection top

Choose SSH, Serial or Local at the top, fill in the settings and click Connect. Disconnect closes the connection. The type can't be changed while connected.

SSH

Scan LAN...

The button next to Host finds computers on your network with SSH open, showing IP, host name and SSH banner.

Serial

Local

What each connection type allows

Whatever can't work with the chosen type is greyed out, and a note beside SSH / Serial / Local says why.

TypeGreyed out
SSHnothing
SerialInstall program from this PC (a file already on the board still installs), Deploy → Website, Upload files, Run local script
Local (Windows)Install program, Repository packages, Deploy → Samba / Website / Cloudflare, Services, Run local script, console sudo
Windows computer over SSHDeploy, Luckfox, Upload files / folder, sudo (see Windows computers)
Board without a package manager or systemdRepository packages, Services and parts of Deploy (see Luckfox)

Run all checked skips a greyed-out recipe and says so in the log.

Profiles, Save and the remembered connection

Repository packages top

Install or remove packages by name. The program detects apt, dnf, yum, zypper, pacman, apk or opkg (and winget on Windows).

Installed programs...

Lists what's installed on the connected computer, from every source: packages, snap, flatpak, the home folder (~/.local/bin, nvm ...), /usr/local/bin, /opt, AppImages, pipx, pip --user, npm -g and Docker containers and images.

Removing a program

Special packages

PackageWhat Install does
cloudflaredAdds Cloudflare's apt repository and installs from it; otherwise downloads the program file. Remove also takes out a tunnel service (asks twice: websites go offline).
anydeskAdds AnyDesk's repository (Debian/Ubuntu, Fedora/RHEL/openSUSE) and installs; the log ends with the computer's AnyDesk ID. Needs a desktop. The instructions explain unattended access (sudo anydesk --set-password) and switching Ubuntu from Wayland to Xorg.
code (VS Code)Microsoft's .deb (amd64, arm64, armhf), Microsoft's yum repository, or the snap. For editing a board's files from your PC, use VS Code on the PC with Remote - SSH instead.
claude-codeRuns Anthropic's official installer as the login user (into ~/.local/bin). Then open an SSH terminal (Open window), cd to a project and run claude.
tailscaleRuns Tailscale's official install script. Installing doesn't join your tailnet: use Join with sign-in link or Deploy → Tailscale.

Small boards: before downloading, VS Code and Claude Code check the computer can run them and stop with the reason if not.

CPURAMFree space
VS Codex86_64, aarch64, armv7l1 GB600 MB on /usr
Claude Codex86_64, aarch641 GB (4 GB recommended)400 MB in home

Join with sign-in link runs tailscale up, opens the sign-in link in this PC's browser, and waits while you sign in with your Tailscale account. Then it shows the board's 100.x address.

Target board size

Instructions after install

Packages that give you something to open show a How to use what was installed window (also written to the log; Show instructions brings it back):

PackageInstructions
sambaEvery share's \\<board>\<share> address; Open in File Explorer, Create desktop shortcut. A Set Samba password dialog opens after install.
nginx, apache2http://<board>/, files in /var/www/html
openssh-serverssh <user>@<board>
vsftpdftp://<board>/
mosquittobroker address; how to allow other devices
avahi-daemonthe <hostname>.local name
cockpit, caddy, adminer, unattended-upgradeshow to open or turn it on
tailscalethe Tailscale IP, or the two ways to join

Install program top

Install a program file. File is on picks where the file is; Browse local... and Browse remote... switch to their side for you.

Auto picks the method from the file name:

FileWhat happens on the computer
.debapt-get install -y (or dpkg -i)
.rpmdnf / yum / zypper / rpm
.sh, .runmade executable and run with the extra args
.tar.*, .tgz, .zipextracted into the install dir
.ipk / .apkopkg install / apk add
anything elsecopied into the install dir, executable

Custom command uses {file}, {dir} and {args}. A post-install command runs afterwards (e.g. systemctl restart myapp). Preview command shows exactly what will run.

Upload files / folder top

On the Install program tab, or Tools menu. Copies your own files and folders to the computer; nothing is installed.

FolderForsudo
~/projectsyour projectsno
~, ~/Downloads, ~/Documentsyour own filesno
/var/www/htmlwebsite filesyes
/srv/shareshared folder (Samba)yes
/opta program in its own folderyes
/usr/local/bincommands for every useryes
/tmptemporary, emptied at restartno

Command console top

Windows computers (SSH + winget) top

Remote Installer can also manage a Windows 10 / 11 PC over SSH. Set it up once on that PC, in PowerShell as administrator:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Start-Service sshd; Set-Service sshd -StartupType Automatic

Then connect with SSH using the Windows user name and password. The program sees it's Windows and shows the Windows version, winget's version and whether the account is an administrator.

Log in with an administrator account: over SSH it already has administrator rights, with no UAC prompt. For key login, an administrator's public key goes in C:\ProgramData\ssh\administrators_authorized_keys.

Commands run in Windows PowerShell 5.1, whether the SSH server's default shell is cmd or PowerShell.

TabOn Windows
Repository packageswinget: common programs by winget ID (7-Zip, Chrome, VS Code, Python, AnyDesk ...), or type IDs (Mozilla.Firefox) or names (vlc). Installs silently. If winget is missing, install App Installer from the Microsoft Store.
Installed programsThe PC's apps, as Settings → Apps lists them. Remove selected... uninstalls silently.
Install program.msi, setup .exe (silent switch found automatically, or from Extra args), .msix / .appx, .zip, .ps1, copy, or a custom PowerShell command. Exit code 3010 = installed, restart needed.
Command consolePowerShell (winget search vlc, Get-Service, ipconfig ...)
ServicesWindows services: start, stop, restart, Automatic / Manual, event log
Deploy, Luckfox, Upload files, sudoOff (Linux only)

Deploy tab: set up a board top

Four recipes, one sub-tab each. Run one (Run this tab) or tick several and use Run all checked. Preview steps shows every command first. They need root, so they use sudo unless you log in as root.

The four recipes

RecipeWhat it doesAfterwards
Samba shareInstalls Samba, creates the folder, adds the share, sets the Samba password from the vault (or guest access), starts it.\\<board>\<share>; Open in File Explorer, desktop shortcut
Website (nginx)Uploads a local folder to /var/www/<site>, writes the nginx config (port, domain, single-page-app option), tests and restarts nginx.http://<board>/; Open in browser
Cloudflare TunnelInstalls cloudflared for the board's CPU. Token mode (routes set in the Cloudflare dashboard) or Credentials mode (your host=service routes; with cert.pem it creates DNS records too).the public https:// addresses
TailscaleInstalls Tailscale and joins with an auth key from the vault, with hostname, Tailscale SSH, subnet routes and exit-node options.the Tailscale IP and name; admin console

Samba password

After installing samba, the Set Samba password dialog asks for the Linux user and the password twice, and can save it in the vault. The user must already exist on the board. The Samba instructions have the same button for later changes.

Saved installer files

On the Cloudflare and Tailscale tabs, Install from a saved installer file downloads the installer once on this PC and uploads it to the board, so the board needs no internet. Files are kept in installers\ in the settings folder (Tools → Open saved installers folder) and reused for every board. Not over Serial (the files are 20-40 MB).

Moving the board: the reconnect helper

A tunnel normally comes back by itself on a new network. When it doesn't, cf-reconnect finds out why (no saved Wi-Fi, wrong clock, broken DNS, hotel sign-in page, blocked QUIC, cloudflared gave up) and repairs it.

Typical move: Add Wi-Fi network... for the new place, keep Auto-reconnect on, unplug, power up at the new place. Without Remote Installer: sudo python3 cf-reconnect on the board shows a menu.

Services tab top

Shows whether common programs are running (SSH, Samba, Tailscale, Cloudflare Tunnel, web servers, Docker, databases, Node-RED, VNC, Bluetooth, network, firewall ...). Only installed ones are listed. Show all services lists every service; Search filters them.

ColumnMeaning
Statusrunning (green), stopped (grey), FAILED (red: Show log tells why)
Start at bootyes / no; when needed = another service or socket starts it
Sincewhen it started

Luckfox tab top

Tools for Luckfox Pico boards (RV1103 / RV1106, Buildroot or Ubuntu image). Board info, Monitor, Wi-Fi and the tools also work on other Linux computers. Help (top right of the tab) opens how-to topics for the sub-tab that's showing.

Boards without apt or systemd (Luckfox Buildroot): the program turns off what can't work there (Repository packages, Services, Deploy). Put programs on the board with Upload files / folder and start them from the Command console.

Board info

Board name, chip, CPU and temperature, operating system, RAM, camera memory, storage, every network address (Ethernet, USB 172.32.0.93, Wi-Fi) and the interfaces that are on (I2C, SPI, UART, PWM, camera ...). Copy all; Copy camera address (rtsp://<board>/live/0 for VLC); Pins & interfaces (luckfox-config)... opens Luckfox's own tool in an SSH window.

Monitor

Wi-Fi

USB network

In GPIO & tools: Reach the board with no PC settings (169.254.0.93) gives the board's USB network a fixed address at every boot. Set it up once over Serial; afterwards plug in the USB cable, wait about a minute, and use SSH to 169.254.0.93. Turn off removes it; Status shows the addresses.

Camera

GPIO

Serial Monitor (SerialMonitor.exe) top

A plain serial terminal, like PuTTY's Serial mode. Pick Port and Baud, click Open, and type in the black window: every key goes straight to the device. It sends nothing by itself.

Keys & certificates (vault) top

Tunnel tokens, credential files, cert.pem, Tailscale auth keys, Samba and login passwords are kept in vault.json in the settings folder, encrypted (AES-256-GCM) with your master password.

A forgotten master password can't be recovered. Without it the vault is unreadable.

Logs top

A web page can open the program with a link such as remoteinstaller://ssh?host=192.168.1.72&user=pi or remoteinstaller://serial?serial_port=COM5&baud=115200.

MenuEntries
ToolsAllow web pages to open this program, Upload files / folder to the remote computer..., Open settings folder, Open saved installers folder, Open logs folder
HelpUser guide (F1, this page), Website, Email, About Remote Installer...

The Open ... folder entries create the folder first if it doesn't exist. If it can't be opened, the path is copied to the clipboard.

Troubleshooting top

ProblemWhat to do
Scan LAN doesn't find the boardThe board needs an SSH server running and must be on the same network (or Tailscale). Try typing its IP directly. Check the router's device list.
"Host key changed", connection refusedThe computer was reinstalled, or it's a different computer at that address. If you're sure, delete its line in known_hosts in the settings folder.
sudo: a terminal is requiredType the sudo password in the sudo password box (blank = login password) and make sure sudo is ticked; the console runs typed sudo commands that way.
A console command waits foreverIt's asking a question. Add -y (or similar), or run it with Open window. Click Cancel to stop it.
Serial: no login promptCheck port and baud (115200, or 1500000 on some images); press Enter in Monitor; check TX/RX are crossed and GND is connected.
Serial port busyClose PuTTY, Serial Monitor or another program using the port.
Linux: serial "permission denied"sudo usermod -aG dialout $USER, then log out and in.
A feature is greyed outRead the note beside SSH / Serial / Local: it says why (connection type, Windows computer, no package manager or systemd).
AnyDesk: "display server not supported"Ubuntu is using Wayland. Switch to Xorg (WaylandEnable=false in /etc/gdm3/custom.conf) and restart.
Program on the board: "Exec format error"Built for another CPU. Build for ARM (uClibc on Luckfox Buildroot) or statically linked.
Luckfox Wi-Fi won't joinPassword is case-sensitive; pick the name from Scan; 2.4 GHz only; try Send the password itself; WPA3-only networks need WPA2 enabled.
Tunnel down after moving the boardConnect over Serial or Ethernet and use Check tunnel / Reconnect now (see Moving the board).
Windows PC: winget not foundInstall App Installer from the Microsoft Store on that PC.
Linux: "xdg-open not found"sudo apt install xdg-utils, or open the copied path yourself.

About & contact top

Version1.0.0.B
Published2026-11-04
Websitemaxtronusa.com
Email[email protected]

Help → About Remote Installer... shows the same details. Copyright © 2026 Maxtron USA. All rights reserved.