Knowledge Base

Aktive technische Knowledge-Base-Einträge aus Obsidian.

RustDesk in Tactical RMM Integrieren

Wiki: RustDesk in Tactical RMM Integrieren

note: > Aktueller CORESTREAM-Runbook-Entwurf: RustDesk Self-hosted Client Setup

Quellen:

https://rustdesk.com/docs/de/self-host/client-deployment/integrations/tactical-rmm/

https://github.com/matlat8/TRMM-RustDesk-Integration

Installationskript RustDesk

Mit diesem Skript wird der RustDesk Client installiert.

$ErrorActionPreference= 'silentlycontinue'

if (!(Test-Path C:\Temp))
{
    New-Item -ItemType Directory -Force -Path C:\Temp > null
}

cd C:\Temp

Invoke-WebRequest "https://github.com/rustdesk/rustdesk/releases/download/1.2.6/rustdesk-1.2.6-x86_64.exe" -Outfile "rustdesk.exe"
Start-Process .\rustdesk.exe --silent-install -wait

$ServiceName = 'Rustdesk'
$arrService = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue

if ($arrService -eq $null)
{
    Start-Sleep -seconds 20
}

while ($arrService.Status -ne 'Running')
{
    Start-Service $ServiceName
    Start-Sleep -seconds 5
    $arrService.Refresh()
}
net stop rustdesk

$username = ((Get-WMIObject -ClassName Win32_ComputerSystem).Username).Split('\')[1]
Remove-Item C:\Users\$username\AppData\Roaming\RustDesk\config\RustDesk2.toml
New-Item C:\Users\$username\AppData\Roaming\RustDesk\config\RustDesk2.toml
Set-Content C:\Users\$username\AppData\Roaming\RustDesk\config\RustDesk2.toml "rendezvous_server = 'IPADDRESS' `nnat_type = 1`nserial = 0`n`n[options]`ncustom-rendezvous-server = 'IPADDRESS'`nkey = 'KEY='`nrelay-server = 'IPADDRESS'`napi-server = 'https://remote.corestream.ch'"
Remove-Item C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk2.toml
New-Item C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk2.toml
Set-Content C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk2.toml "rendezvous_server = 'IPADDRESS' `nnat_type = 1`nserial = 0`n`n[options]`ncustom-rendezvous-server = 'IPADDRESS'`nkey = 'KEY='`nrelay-server = 'IPADDRESS'`napi-server = 'https://remote.corestream.ch'"

net start rustdesk

Quelle: Obsidian Knowledge Base/TacticalRMM/RustDesk in Tactical RMM Integrieren.md · Stand: 2026-08-25 · Automatisiert publiziert durch Hermes.

TRMM-Linux-Agent-Konzept

abstract: Kurzfassung Linux-Hosts in TRMM laufen bei CORESTREAM inzwischen über einen eigenen Linux-Agent-Fork mit vorgebauten, SHA256-verifizierten Linux-Binaries und mobile-freundlichem curl | bash-Installer. Der frühere netvolt-/Live-Compile-Workaround entfällt. Der Pilot mit v2.11.0-cs4 wurde erfolgreich getestet; Mesh + tacticalagent.service funktionieren.


1. Problemstellung

warning: Show-Stopper im MSP-Alltag Linux-Hosts lassen sich in TRMM nur über einen umständlichen, nicht automatisierbaren Workaround aufnehmen. Pro Maschine von Hand — nicht skalierbar.

success: Lösung Eigenen Fork + Build-CI betreiben → vorgebaute, SHA256-verifizierte Linux-Binaries + sauberes curl | bash-Install-Script. Kein TRMM-Token, keine Paywall, kein manueller Umweg.


2. Ausgangslage (faktisch)

bug: Sicherheitsproblem des Umwegs Lädt Go vom Web, clont master (ungepinnt!) und kompiliert zur 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 Fork mit vorgebauten, verifizierten Linux-Binaries + sauberem Installer.


4. Komponenten

4.1 Fork-Strategie

4.2 Build-CI (erzeugt die Binaries)

4.3 Install-Script (Ersatz für netvolt)

4.4 Update-Pfad

4.5 Security (aus Miner-Review)


5. Linux-Code Gaps

Funktionen in agent_unix.go sind oft Stub/nil — Linux kann weniger als Windows:

Funktion Linux-Status Bedeutung
GetDisks / checkin / RunScript / Terminal / Mesh ✅ implementiert Kern-RMM funktioniert
GetInstalledSoftware {} (leer) Keine Software-Inventur
SendSoftware {} kein Reporting
GetServiceDetail / ControlService / EditService Windows-only Service-Steuerung nur via Script
PatchMgmnt nil kein Patch-Management
CreateSchedTask / ListSchedTasks nil kein GUI-Task-Scheduling
GetWinUpdates / InstallUpdates Windows kein OS-Update-Mgmt
GetEventLog Windows kein Eventlog
InstallChoco Windows kein Chocolatey

note: Fazit Linux-Agent taugt für Monitoring, 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)

Plattform Signing nötig? Maßnahme
Linux ❌ nein SHA256-Verifikation statt Signatur (reicht, da wir Build kontrollieren)
macOS 🚫 vorerst NEIN (2026-07-28) kein Apple-Dev-Account; bei Bedarf später nachrüsten
Windows ❌ vorerst raus läuft weiter via TRMM-Sponsor / unsigniert + AV-Exclusion

info: Kernpunkt Der 400-Fehler verschwindet komplett, sobald wir die Build-CI selbst betreiben — kein TRMM-Token, keine Paywall, kein manueller netvolt-Umweg mehr.


7. Risiken

caution: Wichtig


8. Rollout (Phasen)

  1. Dev-VM: Fork + CI + Install-Script testen (Linux-VM bei euch)
  2. Pilot: 1–2 eigene CORESTREAM-Hosts
  3. Prod: ausgewählte Kunden-Linux-Server

8b. Scaffold-Stand 2026-08-17

success: Erster interner Scaffold gebaut Upstream amidaware/rmmagent wurde auf Tag v2.11.0 / Commit e6b61ba540af2df9d13247f96538397daa3c4f1f gepinnt, statisch geprüft und lokal als CORESTREAM-Scaffold vorbereitet.

Lokaler Arbeitsstand auf Hermes:

Gebaut/verifiziert:

Artefakte lokal:

Checksums der Linux-Binaries:

Package-Checksums:

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 liegt SHA256SUMS.


8c. Produktiver Installer-Stand 2026-09-09

success: Pilot bestätigt Der kurze Linux-Installer wurde mit v2.11.0-cs4 auf einer Testmaschine erfolgreich ausgeführt. Agent registriert sich im RMM, Mesh wird installiert und tacticalagent.service läuft.

Aktueller Prozess für Techniker:

  1. In Tactical RMM Client/Site und Enrollment-/Deployment-Token bestimmen.

  2. 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

  3. Wenn Werte nicht direkt im Befehl stehen, fragt der Installer interaktiv nach:

    • Client-ID
    • Site-ID
    • Enrollment-Token/Auth verdeckt
  4. Nach Installation prüfen:

    • RMM: Host erscheint unter der gewählten Client/Site.
    • Systemd: tacticalagent.service läuft.
    • Mesh: Remote-Control-Verknüpfung ist vorhanden.

Aktueller Artefaktstand v2.11.0-cs4 im OneDev-Raw-Pfad:

Relevante Commits:

Offen für nächsten Ausbau:


9. Offene Entscheidungen


Verwandt


Quelle: Obsidian Knowledge Base/TacticalRMM/TRMM-Linux-Agent-Konzept.md · Stand: 2026-09-20 · Automatisiert publiziert durch Hermes.