Das Menü zeigt die SSH-Verbindung als aktiv, der Hostschlüssel wurde akzeptiert, und der Browser erreicht trotzdem nichts von dem, was er erreichen sollte. Das ist kein Widerspruch, denn ein NetworkManager-ssh-Profil kann aus demselben Host und Schlüssel zwei ganz unterschiedliche Ergebnisse erzeugen: ein Tunnelgerät, das Pakete trägt, oder eine Reihe von Weiterleitungen, die nur bestimmte Anwendungen nutzen können. Der Indikator meldet, dass die verwaltete SSH-Beziehung besteht. Er meldet nie, welches der beiden Ergebnisse Sie erhalten haben.

Zwei Ergebnisse hinter einem Menüeintrag

Beide Modi authentifizieren sich gleich, und genau deshalb werden sie verwechselt. Wird das Profil auf exakt dieselbe Weise mit denselben Anmeldedaten ausgewählt, kann man entweder eine Schnittstelle erhalten, durch die geroutet werden kann, oder einen lauschenden Socket, über den eine Anwendung informiert werden muss.

Entscheiden Sie zuerst, welches Ergebnis die Aufgabe tatsächlich braucht. Eine Notwendigkeit, ein ganzes Subnetz zu erreichen, braucht ein Gerät. Ein einzelner Dienst auf einem entfernten Host braucht eine Weiterleitung, und dafür einen Tunnel zu bauen verursacht meist mehr Routingarbeit, als das Problem verdient hat.

Was jeder Modus haben muss, bevor er funktioniert

Das Projekt dokumentiert beide Modi, und die Voraussetzungen unterscheiden sich so stark, dass eine fehlende wie ein Protokollfehler aussieht und nicht wie eine Designentscheidung.

ModeWhat must existWhat still has to be true
Tunnel deviceCompatible TUN/TAP arrangement on both ends, permission, addressingA route policy that actually sends the intended prefixes into it
Forwarding onlyA chosen SOCKS, local-forward or remote-forward listenerA permitted destination path on the far side

Lesen Sie die rechte Spalte sorgfältig, denn dort enden die meisten dieser Tickets. Selbst ein perfekt gebautes Tunnelgerät deckt nur ab, was das Routing hineinschickt, und selbst eine perfekte Weiterleitung hilft nur den Anwendungen, denen gesagt wurde, sie zu verwenden.

Die Dummy-Schnittstelle ist kein Tunnel

Im Weiterleitungsmodus dokumentiert das Plugin eine Dummy-Schnittstelle, die angelegt wird, um das Verbindungsmodell zu erfüllen. Sie existiert, damit der Manager etwas hat, an das er Zustand anhängen kann. Sie trägt keine beliebigen Anwendungspakete in das entfernte Netz und nichts an ihrer Anwesenheit deutet darauf hin, dass sich das IP-Routing geändert hat.

Die Beispiele für Volltunnel im Projekt betreffen die Tunnelgerät-Unterstützung von OpenSSH, das Wort Tunnel in einer Bezeichnung beschreibt also eine Fähigkeit, nicht Ihre tatsächliche Richtlinie. Prüfen Sie, was der Kernel tun wird, statt wie das Profil heißt.

nmcli connection show --active
ip -br link
ss -lntp | grep -E "1080|8080"

Ordnen Sie das Ergebnis dann der Anwendung zu. Ein SOCKS-fähiges Programm muss so konfiguriert werden, dass es den Proxy verwendet. Ein Nutzer einer lokalen Weiterleitung muss auf seinen Listener verwiesen werden. Keines von beiden entdeckt die Weiterleitung von selbst, und keinem hilft ein Verbindungsindikator, der grün geworden ist.

Bereiten Sie die Gegenseite vor, statt sie zu erzwingen

Ein gewöhnliches SSH-Konto kann sich authentifizieren, ohne die Berechtigung zu haben, ein entferntes Tunnelgerät aufzubauen. Das Projekt dokumentiert einen Weg ohne Root, bei dem ein Administrator das Gerät für diesen Benutzer vorab anlegt und der Client dann die passende Nummer wählt.

Diese Anordnung erfordert Abstimmung mit der Tunnelrichtlinie des Servers und mit demjenigen, der die Adressierung im entfernten Netz besitzt. Das Anlegen des Geräts gewährt für sich genommen weder die Ressourcenrouten noch die Weiterleitungsberechtigungen oder einen Rückweg, und nichts davon entsteht, weil die Beispielkonfiguration überzeugend aussah.

Was Sie nicht tun sollten, ist, uneingeschränkte Weiterleitung oder entfernte Root-Anmeldung zu aktivieren, damit ein Beispiel funktioniert. Wo der Betreiber die Einrichtung des entfernten Netzes besitzt, nutzen Sie die unterstützte Anordnung, um diese Befehle diesem Eigentümer zu überlassen, und vermeiden Sie einen zweiten Helfer, der beim Trennen widersprüchliche Adressen wiederherstellt.

Authentifizierungskontext und was in das Ticket gehört

Authentifizierung hat ihren eigenen Kontext. Das Plugin sucht einen SSH-Agenten, der der Benutzersitzung zugeordnet ist, und verlangt, dass der Zielhost bekannt ist, ein Schlüssel, der in einem Terminal funktioniert, wird also nicht automatisch für den Authentifizierungspfad des Managers sichtbar. Lassen Sie den Hostschlüssel über den freigegebenen Prozess eintragen und prüfen, statt die Prüfung abzuschalten.

Notieren Sie für den Support vier Dinge: das Plugin und die Version, den gewählten Modus, die beabsichtigte entfernte Identität und die Schnittstelle oder den Listener, die hätte erscheinen sollen. Testen Sie dann den Einstiegspunkt der Anwendung direkt. Ein verbundener Indikator plus ein funktionierender Test sind ein Beweis; ein verbundener Indikator allein ist eine Aussage über SSH, nicht über das Routing oder die Ressourcenberechtigung, die Sie zu erhalten versuchten.

Ähnliche Artikel