Zum Inhalt springen
Nexthop

SSH, RDP und SFTP an einem Ort.

Mit einem Passworttresor, den dein eigener Server nicht lesen kann.

Nexthop verwaltet deine Server, deine Zugangsdaten und die Regeln, wer sie erreichen darf. Es läuft als ein Container auf deiner eigenen Hardware. NextVault ist der Passworttresor im selben Fenster: Einträge werden auf dem Client verschlüsselt, und der Server speichert nichts, was er lesen kann.

  • Läuft auf deiner Hardware
  • Clients sind kostenlos
  • 7 Tage gratis
Das Nexthop-Fenster: links die Verbindungsliste, rechts eine offene Sitzung.

Was es kann

Dein Server sieht nie ein Passwort

Einträge werden verschlüsselt, bevor sie gesendet werden — im Desktop-Client, in der Browser-Erweiterung und in der Weboberfläche gleichermassen. Der Schlüssel entsteht aus einem Hauptpasswort, das nie beim Server ankommt. Jeder Eintrag liegt als ein Block Bytes mit einer Revisionsnummer in der Datenbank: keine Spalte für Namen, Ordner oder Adresse. Ein Administrator mit vollem Datenbankzugriff liest dieselben Blöcke wie jemand mit einer gestohlenen Kopie.

Zugriffsrechte, die du nachvollziehen kannst

SSH-, RDP- und SFTP-Verbindungen liegen in Ordnern mit beliebiger Verschachtelung. Jeder Eintrag trägt acht getrennte Rechte, vergeben an Benutzer oder Gruppen und vom Ordner darüber vererbt. Jeder Eintrag zeigt an, wer zugreifen darf und welche Regel diesen Zugriff erlaubt hat. Was nicht ausdrücklich erlaubt ist, gilt als verboten.

Verbindungspasswörter bleiben im Tresor

Seit Fassung 0.1.4 trägt eine Verbindung die Kennung eines Tresoreintrags statt eines Geheimnisses. Der Client löst sie beim Verbinden lokal auf und entschlüsselt sie auf deinem Rechner. Damit war die letzte Stelle geschlossen, an der ein Passwort im Klartext durch den Server ging.

WireGuard im Client eingebaut

Leg ein WireGuard-Profil in den Tresor und leite jede Verbindung hindurch. Der Tunnel läuft im Nexthop-Prozess: kein Treiber, keine Installation, keine Administratorrechte, und nach dem Schliessen bleibt nichts auf dem Rechner zurück. Kommt der Tunnel nicht zustande, wird die Verbindung nicht aufgebaut.

Ein Protokoll, das nur wächst

Jeder Zugriff wird in eine Hash-Kette geschrieben, in der jeder Eintrag den vorherigen versiegelt. Die Datenbank weist Änderungen und Löschungen auf dieser Tabelle ab. Auch abgelehnte Anfragen werden festgehalten, sodass wiederholte Versuche auf Zugangsdaten ohne Berechtigung nachträglich auffindbar sind.

Ein Container auf deiner eigenen Hardware

Ein Docker-Container und eine Compose-Datei. Er läuft als UID 10001 auf einem nur lesbaren Dateisystem ohne jede Capability, in einem Docker Hardened Image ohne Shell, ohne Paketverwaltung und ohne bekannte Schwachstellen, und spricht ausschliesslich TLS 1.3. Es gibt kein Konto bei uns, und es verlassen keine Daten dein Netz.

Sicherungen, die sich anderswo einspielen lassen

Nach Zeitplan schreibt der Server die Verbindungen als übertragbare .nxh-Datei und einen vollständigen Abzug der Datenbank. Ein Kennwort verschlüsselt beides mit argon2id und AES-256-GCM, alte Kopien werden aufgeräumt. Ohne Kennwort schreibt der Server gar keine Passwörter in die Datei — lieber eine Sicherung ohne sie als eine, die im Klartext auf einer Netzfreigabe liegt.

Es übernimmt deine vorhandenen Daten

Import aus Remote Desktop Manager (.rdm) und aus dem eigenen Format (.nxh); der Tresor liest und schreibt CSV und eine verschlüsselte .nxv-Datei. Gespeicherte Befehle — ein Titel und eine Befehlszeile — hängen am Konto und sind auf jedem Rechner da, an dem du dich anmeldest.

Preise

Monatlich
CHF 9.90
pro Monat
7 Tage gratis
Kaufen
Am häufigsten gewählt
Jährlich
CHF 99.–
pro Jahr
7 Tage gratis
Kaufen
Einmalig
CHF 299.–
einmalig
keine Testphase
Kaufen

Eine Lizenz gilt für einen Server mit beliebig vielen Clients und Benutzern. Preise in Schweizer Franken, ohne Mehrwertsteuer. Verkäufer ist Lemon Squeezy; dort laufen Zahlung und Rechnung.

Die Clients

Kostenlos und ohne Begrenzung der Installationen — die Lizenz gilt für den Server, nicht für den Client. Beide verbinden sich über HTTPS auf Port 8443 und zeigen beim ersten Start den Fingerabdruck des Zertifikats, damit du prüfen kannst, dass du mit deinem eigenen Server sprichst.

Clients herunterladen GitHub Releases

Windows meldet beim ersten Start einen unbekannten Herausgeber, weil die Datei nicht signiert ist. Auf Weitere Informationen klicken, dann Trotzdem ausführen.

So fängst du an

Du brauchst einen Rechner mit Docker und ein Verzeichnis für die Daten. Die zwei Dateien unten sind die vollständige Konfiguration. Lies sie, bevor du den Container startest.

  1. Dateien holen

    Die Ablage enthält die Compose-Datei und die Anleitung. Quelltext liegt keiner darin — der Server selbst kommt als Abbild.

    nexthop-server Compose-Datei und Anleitung docker-compose.yml der Container

    git clone https://github.com/amslertec/nexthop-server.git
    cd nexthop-server
  2. Hauptschlüssel erzeugen

    Er verschlüsselt jedes gespeicherte Geheimnis, und ohne ihn startet der Server nicht. Mach das vor dem ersten Start.

    echo "NEXTHOP_SECRET_KEY=$(openssl rand -base64 32)" > .env
    chmod 600 .env
    Bewahre diesen Schlüssel ausserhalb deiner Sicherungen auf

    Der Schlüssel verschlüsselt alles, was der Server ablegt, auch die Sicherungen. Ohne ihn lassen sich die Daten nicht wiederherstellen — nicht von dir, nicht von uns, nicht vom Server. Es gibt kein Rücksetzverfahren.

  3. Adresse eintragen und starten

    Trag in docker-compose.yml bei NEXTHOP_TLS_HOSTNAMES jeden Namen und jede Adresse ein, unter der der Server erreichbar sein wird — sie stehen im Zertifikat, und eine fehlende lässt jede übliche Zertifikatsprüfung scheitern. Setz auch TZ; der Sicherungsplan läuft in Ortszeit.

    docker compose up -d
  4. Erstes Konto anlegen

    Öffne https://deine-adresse:8443. Der erste Aufruf legt das Administratorkonto an, danach ist der Einrichtungsweg dauerhaft geschlossen. Trag anschliessend den Lizenzschlüssel unter Einstellungen → Lizenz ein — bis dahin verbindet sich kein Client, während die Weboberfläche voll benutzbar bleibt.

Anleitung auf GitHub

Technisches

Voraussetzungen Docker mit Compose, ein Port (üblicherweise 8443) und ein Lizenzschlüssel. Sonst muss nichts installiert werden.
Server Ein Docker-Container. UID 10001, nur lesbares Dateisystem, cap_drop ALL, no-new-privileges. Docker Hardened Image ohne Shell, ohne Paketverwaltung und ohne bekannte Schwachstellen.
Clients Windows (x86-64) als Installationsprogramm, Debian und Ubuntu als .deb. Kostenlos und ohne Begrenzung der Installationen — die Lizenz gilt für den Server. Ein Client hält nie einen Schlüssel.
Protokolle SSH, SFTP und RDP. SFTP öffnet sich mit einem Dateibrowser; RDP nutzt unter Windows den mitgelieferten Client und unter Linux FreeRDP.
Übertragung Ausschliesslich TLS 1.3, Port 8443. Beim ersten Start stellt sich der Server ein eigenes Zertifikat aus und schreibt den Fingerabdruck ins Protokoll und nach /data/tls/fingerprint.txt — der Client fragt danach.
Kontopasswörter argon2id, m=64 MiB, t=3.
Tresor argon2id leitet den Schlüssel ab, XChaCha20-Poly1305 verschlüsselt — beides im Client, in der Browser-Erweiterung oder im Browser. Der Server hält keinen Schlüssel und entschlüsselt nie.
Verbindungsgeheimnisse XChaCha20-Poly1305 mit einem Schlüssel aus der Umgebung, nie aus dem Quelltext. Eine Verbindung kann stattdessen auf einen Tresoreintrag zeigen — dann liegt beim Server überhaupt kein Geheimnis.
Protokoll Hash-Kette und Datenbank-Trigger gegen Änderungen und Löschungen. Jederzeit mit audit-verify nachprüfbar.
Sicherungen Nach Zeitplan, in Ortszeit. argon2id und AES-256-GCM über die gesamte Nutzlast. Eine .nxh-Datei, die sich auf jedem Server einspielen lässt, dazu ein vollständiger Datenbankabzug.
Import und Export Remote Desktop Manager (.rdm) und das eigene .nxh-Format. Der Tresor liest und schreibt zusätzlich CSV und eine verschlüsselte .nxv-Datei.
VPN WireGuard im Benutzerbereich, im Client-Prozess. Kein Treiber, keine Administratorrechte, nach dem Schliessen bleibt nichts zurück.
Leck-Prüfung Gegen Have I Been Pwned per k-Anonymität — standardmässig aus und nur auf Anforderung. Dein Passwort verlässt den Rechner nicht.
Lizenzprüfung Alle sechs Stunden im Hintergrund. Ohne Internet läuft der Server sieben Tage nach der letzten erfolgreichen Prüfung weiter.
Weboberfläche Deutsch und Englisch, hell und dunkel, Tastenkürzel, auf dem Telefon benutzbar. Jede Ansicht hat ihre eigene Adresse — ein Lesezeichen landet dort, wo du es gesetzt hast.

Was ohne Lizenz passiert

Was ohne Lizenz passiert

Clients werden mit 402 Payment Required abgewiesen. Die Weboberfläche läuft weiter, deine Daten, der Export und die Sicherungen bleiben also erreichbar, während du entscheidest, wie es weitergeht.

Umzug auf neue Hardware

Entferne die Lizenz unter Einstellungen → Lizenz, bevor du den alten Server abbaust; das gibt den Aktivierungsplatz frei. Wenn du es vergisst, zeigt die Seite einen Freigabecode — schreib ihn auf, solange der Server noch läuft. Er liegt im Datenverzeichnis, und wenn das weg ist, bleibt der Platz belegt.

Schreib uns

Fragen zur Lizenz, Hilfe beim Einrichten oder etwas, das Nexthop noch nicht kann — schreib, und du bekommst eine Antwort von dem, der es gebaut hat, meistens noch am selben Tag.