TRMM-Linux-Agent-Konzept
TRMM-Linux-Agent-Konzept
Kurzfassung
Tactical RMM (TRMM) dokumentiert inzwischen einen Linux-Agenten im Beta-Status. Code-signierte Agenten, einschliesslich Linux und macOS, stehen gemäss Hersteller ab Sponsor Tier 1 zur Verfügung. Dieser offizielle Weg ist für neue Installationen zu bevorzugen.
Ein organisationsintern gebauter Fork bleibt technisch möglich, verursacht aber dauerhafte Pflege-, Lieferketten- und Lizenzrisiken. Er ist keine gleichwertige Standardlösung.
abstract:Getestet:KurzfassungEinLinux-HostsinterningebauterTRMMAgentlaufenaufbeiBasisCORESTREAMvoninzwischen über eineneigenen Linux-Agent-Forkmit vorgebauten, SHA256-verifizierten Linux-Binaries und mobile-freundlichemcurl | bash-Installer. Der frühere netvolt-/Live-Compile-Workaround entfällt. Der Pilot mitAgentv2.11.wurde auf Linux erfolgreich0-cs40getestet; Mesh +registriert;tacticalagent.servicefunktionieren.und die Mesh-Verknüpfung funktionierten. Dieser Befund gilt nur für den damaligen Fork und dessen Build-Pipeline.Generisch/aktuell: Die offiziellen Installationsschritte unten stammen aus der laufenden TRMM-Dokumentation. Funktionen und Dienstnamen sind nach jedem Agent-Update erneut zu prüfen, da der Linux-Agent als Beta bezeichnet wird.
Entscheid
master oder Live-Kompilation auf verwalteten Zielsystemen.
1.Offizielle ProblemstellungInstallation
In TRMM Agents → Install Agent öffnen. Client, Site, Gerätetyp, Architektur, Ablaufzeit und Linux wählen. Generiertes Shellskript herunterladen und sicher auf den Zielhost übertragen. Ausführen:
chmod 700 ./rmm-<client>-<site>-<type>.sh sudo ./rmm-<client>-<site>-<type>.shNach erfolgreichem Rollout löschen, denn das Skript enthält ein zeitlich gültiges Enrollment-Token:
rm -f ./rmm-<client>-<site>-<type>.sh
warning:Show-Stopper im MSP-AlltagEin Linux-HostsDeployment-LinklassenwirdsichlautinTRMM-DokumentationTRMMderzeit nicht angeboten. Das generierte Skript deshalb nur über einenumständlichen,geschützten,nichtkurzlebigenautomatisierbarenAblageortWorkaroundverteilen;aufnehmen.niemalsProinMaschineeinvonöffentlichesHandRepository—odernichteineskalierbar.öffentliche Knowledge Base hochladen.
Verifikation
sudo systemctl status tacticalagent.service --no-pager
sudo journalctl -u tacticalagent.service -n 100 --no-pager
Zusätzlich in TRMM prüfen:
UrsacheHost=erscheintTRMMbeimPaywall:erwartetenSignierteClientAgentenund(inkl.Standort.
Funktionsumfang realistisch einordnen
Der Feldtest des internen Forks v2.11.0 bestätigte Monitoring, Skriptausführung, Terminal und Mesh. In diesem Stand waren unter anderem Softwareinventar, grafisches Patch-Management, Service-Steuerung und Windows-spezifische Funktionen nicht oder nur aneingeschränkt zahlendevorhanden.
Dies ist keine aktuelle, vollständige Produktmatrix. Vor dem Rollout muss die tatsächlich eingesetzte Agent-Version mit einem Testhost gegen die benötigten Funktionen geprüft werden.
Kontrollierter Eigenbau (TierAusnahme)
WorkaroundUpstream-Tag=undnetvolt-Script:Commitpropinnen;Maschineniemanuelldirektausgeführt (Go live installieren,ausmasterlive kompilieren, systemd einrichten). Sicherheitstechnisch bedenklich:ungepinntesmaster, Compile auf Kunden-Server.veröffentlichen.FaktÄnderungen(geprüft im Code):Die 400 ist einePaywall, kein Linux-Technik-Erfordernis.AgentUpdate(agent_unix.go) prüftkeineSignatur — auf Linux ist Code-Signing irrelevant.
success:Lösung Eigenen Fork + Build-CI betreiben → vorgebaute, SHA256-verifizierte Linux-Binaries + sauberescurl | bash-Install-Script.Kein TRMM-Token, keine Paywall, kein manueller Umweg.
2. Ausgangslage (faktisch)
agent_unix.goinstall_unix.goCGO_ENABLED=0 GOOS=linux ... go build -ldflags "-s -w"netvolt/LinuxRMM-Scriptgo_installamidaware/rmmagentagent_compile
bug:Sicherheitsproblem des Umwegs Lädt Go vom Web, clontmaster(ungepinnt!)reviewen undkompiliertzur Laufzeit auf dem Kunden-Server. Exakt die „fremdes Binary/Source vertrauen"-Falle aus dem 2021/22 Miner-Vorfall — nur als Live-Source statt als Binary.
3. Zielbild
Eigener ForkAbhängigkeiten mit vorgebauten, verifizierten Linux-Binaries + sauberem Installer.
4. Komponenten
4.1 Fork-Strategie
git.corestream.chamidaware/rmmagentcorestream/rmmagentmainupstreamgo mod verify4.2isolierter Build-CI (erzeugtfür die Binaries)
benötigten linux/amd64linux/arm64linux/386CGO_ENABLED=0 GOOS=linux GOARCH=<arch>amd64 go build -ldflagstrimpath -ldflags="-s -w" -o rmmagent-linux-<archamd64
sha256sum rmmagent-linux-amd64 > SHA256SUMS
Artefakte:rmmagent-linux-{arch},SHA256SUMS, optional zusätzlich mit internem Schlüssel signiert
v2.8.0-cs14.3 Install-Script (Ersatz für netvolt)
https://git.corestream.ch/corestream/rmmagent/~raw/main/install-linux.shcurl -fsSL https://git.corestream.ch/corestream/rmmagent/~raw/main/install-linux.sh | sudo bash -s -- -c CLIENT -s SITE -t TOKEN-c-s-t/dev/ttyv2.11.0-cs4masterSHA256SUMS/api/v3/meshexe//api/v3/newagent/tacticalagent.serviceRestart=alwaysgo_installagent_compile4.4 Update-Pfad
AgentUpdateSHA256SUMS Eine SHA-256-Prüfsumme schützt nur dann vor Manipulation, wenn das
interneManifestArtefaktlayoutüberzeigen:einengetrennt<BASE_URL>/<VERSION>/rmmagent-linux-<arch>plusvertrauenswürdigen<BASE_URL>/<VERSION>/SHA256SUMS.beziehungsweise signierten
4.5KanalSecuritybezogen(auswird.Miner-Review)
Sicherheits- und Lizenzgrenzen
Reproducible Builds, Checksum-Verifikation im Installer + Agent-Update
mastergo mod verify5. Linux-Code Gaps
Funktionen in agent_unix.go sind oftDie Stub/nil — Linux kann weniger als Windows:
{}{}nilnil
note:Fazit Linux-Agent taugt fürMonitoring, Scripts, Terminal, Mesh— aber keine Software-Inventur, kein Patch-Mgmt, keine Service-UI. Feature-Gap, kein Bug.Entscheidung: Gaps füllen oder „Monitoring-only" akzeptieren?
6. Code-Signing-Strategie (Linux-fokussiert)
info:Kernpunkt Der 400-Fehler verschwindet komplett, sobald wir die Build-CIselbstbetreiben — kein TRMM-Token, keine Paywall, kein manueller netvolt-Umweg mehr.
7. Risiken
caution:WichtigFork-Pflegeverantwortungdauerhaft (Build-Kette + Security-Tracking)CVEsmanuell verfolgen (kein upstream-Auto-Patch)Lizenz:Tactical RMM License v1.0 istkeinkeine Open-Source-Lizenz.OSI-Open-SourceSie—erlaubtverbietetdie Nutzung zur Überwachung eigener und verwalteter Kundensysteme, enthält aber weitgehende Einschränkungen für kommerzielle Bereitstellung, SaaS, Managed Hosting, Installation/Konfiguration als Dienstleistung sowie abgeleitete Werke. Vor Verteilung eines Forks, Rebranding oder einem kommerziellenWeiterverkauf.AngebotInternedieMSP-konkrete NutzungOK;rechtlichRebrandundnurgegebenenfallsintern,mitkeinAmidaWaregebrandeterklären.SaaS-VerkaufWird ein abgeleitetes Werk Dritten bereitgestellt, sind die Pflichten zur Bereitstellung des vollständigen Quellcodes und zum Copyright-Hinweis zu beachten. Diese Notiz ist keine Rechtsberatung.
8. Rollout (Phasen)
8b. Scaffold-Stand 2026-08-17
success:Erster interner Scaffold gebaut Upstreamamidaware/rmmagentwurde auf Tagv2.11.0/ Commite6b61ba540af2df9d13247f96538397daa3c4f1fgepinnt, statisch geprüft und lokal als CORESTREAM-Scaffold vorbereitet.
Lokaler Arbeitsstand auf Hermes:
/home/csgadmin/work/trmm-linux-agent/corestream-rmmagentmaindf2b116v2.11.0252e601e54fa3f--api-url/--client-id/--site-id/--auth/--base-urlhttps://git.corestream.ch/corestream/rmmagent.gitGebaut/verifiziert:
go1.24.13go mod verifyamd64arm64386AgentUpdateSHA256SUMSscripts/install-linux-corestream.sh[OK][FEHLER]--dry-runscripts/render-linux-oneliner.shscripts/build-linux.shdocs/audit-v2.11.0.mdArtefakte lokal:
/home/csgadmin/work/trmm-linux-agent/corestream-rmmagent/dist/v2.11.0-cs2//home/csgadmin/work/trmm-linux-agent/packages/corestream-rmmagent-scaffold-v2.11.0-cs3.tar.gz/home/csgadmin/work/trmm-linux-agent/packages/corestream-rmmagent-scaffold-v2.11.0-cs2.tar.gz/home/csgadmin/work/trmm-linux-agent/packages/corestream-rmmagent-linux-artifacts-v2.11.0-cs2.tar.gzChecksums der Linux-Binaries:
rmmagent-linux-amd644215c699fb5526a1b3567cf91cff6011c300a2634a87d8755e301eedbf471925rmmagent-linux-arm64752bb9b9247c9e1e4e1e479c752a53f9ef9d759f6474f7853a9b33bbca055899rmmagent-linux-3869ad05849fe0fdd470a46c4b52611113f81f46a613f61955236965ac1ff5176e0Package-Checksums:
corestream-rmmagent-scaffold-v2.11.0-cs3.tar.gz9b25c2e476f8c80b06a4bb11212e1796bc294fcaa5ed944e05fa80510d2bb3efcorestream-rmmagent-scaffold-v2.11.0-cs2.tar.gz372fda6e73d5c50b2938ca073550b35a42568977aeec531fc2cd013d5ab8f5eccorestream-rmmagent-linux-artifacts-v2.11.0-cs2.tar.gz2991b7560ec2492b17ba1ad8d353ea05af3070a2373b16e3fdafa4aafba8fcb1
success:Self-Update-Härtung erledigt Der Installer und der Linux-Self-Update-Pfad verifizieren jetzt SHA256. Voraussetzung: Update-URLs zeigen auf internes Artefaktlayout<BASE_URL>/<VERSION>/rmmagent-linux-<arch>und daneben liegtSHA256SUMS.
8c. Produktiver Installer-Stand 2026-09-09
success:Pilot bestätigt Der kurze Linux-Installer wurde mitv2.11.0-cs4auf einer Testmaschine erfolgreich ausgeführt. Agent registriert sich im RMM, Mesh wird installiert undtacticalagent.serviceläuft.
Aktueller Prozess für Techniker:
In Tactical RMM Client/Site und Enrollment-/Deployment-Token bestimmen.
Auf Linux-Zielhost folgenden Befehl ausführen:
curl -fsSL https://git.corestream.ch/corestream/rmmagent/~raw/main/install-linux.sh | sudo bash -s -- -c CLIENT -s SITE -t TOKEN
Wenn Werte nicht direkt im Befehl stehen, fragt der Installer interaktiv nach:
Client-IDSite-IDEnrollment-Token/AuthNach Installation prüfen:
tacticalagent.serviceAktueller Artefaktstand v2.11.0-cs4 im OneDev-Raw-Pfad:
rmmagent-linux-38652e81126768a95f64cfc52fcf4c4641c7d6a95b09db09e1d83804c14378d1843rmmagent-linux-amd64480aa5d95b33a6cc6bf025c5b850cb1ae989a2e7cfea42c97d114c2559420900rmmagent-linux-arm64eaa2d66389a83a7cd7193599310b96d5722deafd664beff3e553e720f227702fRelevante Commits:
28ee3a2tacticalagent.serviceca80646f11af1aOffen für nächsten Ausbau:
https://api.corestream.ch/clients/<uid>/deploy/linux.shhttps://rmm.corestream.ch/i/<uid>9. Offene EntscheidungenAbnahme
-
CI:OffiziellerinterneInstallerBuild-VModer/freigegebener,internesgepinnterCIEigenbaustatt GitHub Actionsverwendet -
Artefakt-Storage:KeineinternesTokensGit/Release-in Shell-History, Tickets, Logs oderArtefakt-RepoDokumentation -
Rebrand-UmfangPrüfsumme/Signatur(Name/Logo) — Lizenzgrenze beachtenvalidiert -
Linux-GapsCheck-in,füllenChecks,oderSkriptealsund„Monitoring-only"Remote-Zugriffakzeptieren?getestet -
Update-Pfad:NeustartvollundeigenAgent-Updateoder upstream-Releases spiegeln?getestet -
macOS:Funktionslückenvorerstdokumentiert
VerwandtQuellen
RMM:KnowledgeTacticalBase/2026/Linux/—AgentweitereInstallationLinux-Themen– Linux Agent (beta)TacticalCORESTREAM/Konzepte/—RMM:CORESTREAM-ArchitekturCode Signing
Quelle: Obsidian Knowledge Base/TacticalRMM/TRMM-Linux-Agent-Konzept.md · Stand: 2026-09-2010-12 · Automatisiert publiziert durch Hermes.