Freigeben über


Befehlszeilenreferenz für Dev-Tunnel

Dev-Tunnel bieten ein Befehlszeilenschnittstellentool (CLI) zum Erstellen und Verwalten von Entwicklungstunneln. In diesem Artikel werden die Syntax und Die Parameter für die verschiedenen devtunnel CLI-Befehle erläutert.

Wichtig

Dieses Feature ist zurzeit als öffentliche Preview verfügbar. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und ist nicht für Produktionsworkloads vorgesehen. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar.

Hinweis

devtunnel CLI-Befehle befinden sich in der Vorschau. Befehlsnamen und Optionen können sich in zukünftigen Versionen ändern.

Globale Optionen

  • -v, --verbose: Ausführliche Ausgabe aktivieren.
  • -?, -h, --help: Zeigen Sie Hilfe- und Nutzungsinformationen an.

Verwalten von Benutzeranmeldeinformationen

Der Dev-Tunneldienst erfordert eine Anmeldung zur Autorisierung der Verwaltung und des Zugriffs auf Entwicklertunnel. Standardmäßig kann nur auf einen Entwicklertunnel zugegriffen werden, der den Entwicklungstunnel erstellt hat. Dieser Benutzer kann jedoch anderen Benutzern Zugriff gewähren.

Nach der Anmeldung wird das Anmeldetoken in der sicheren Schlüsselkette des Systems zwischengespeichert und ist mehrere Tage vor Ablauf gültig. Wenn Sie sich von der CLI abmelden, wird dieses zwischengespeicherte Token gelöscht, aber keine Browsercookies gelöscht. Dies kann Dev-Tunnel-Zugriffstoken enthalten, wenn ein Browser für die Authentifizierung mit einem Dev-Tunnel verwendet wurde.

Befehl Beschreibung
devtunnel user login Melden Sie sich mit einem Microsoft- oder GitHub-Konto an.
devtunnel user logout Löschen des zwischengespeicherten Tokens
devtunnel user show Aktuellen Anmeldestatus anzeigen

Tipp

devtunnel login und devtunnel logout sind Kurzbefehle zum Anmelden und Abmelden.

Hier sind einige Beispiele für die Verwendung dieser Befehle:

Beispiele Beschreibung
devtunnel user login Melden Sie sich mit einer Microsoft-Organisation (Microsoft Entra-ID) oder persönliches Konto
devtunnel user login -g Anmelden mit einem GitHub-Konto
devtunnel user login -d Melden Sie sich mit einem GitHub-Konto mit Gerätecodeanmeldung an, wenn die lokale interaktive Browseranmeldung nicht möglich ist.
devtunnel user login -g -d Melden Sie sich mit einem GitHub-Konto mit Gerätecodeanmeldung an, wenn die lokale interaktive Browseranmeldung nicht möglich ist.

Hosten eines Entwicklungstunnels

devtunnel hostist der befehl Standard, der zum Hosten Ihres Entwicklungstunnels verwendet wird. Der Befehl sollte auf dem Hostsystem ausgeführt werden, auf dem der Server ausgeführt wird, auf den Sie über den Dev-Tunnel zugreifen möchten.

Befehl Beschreibung
devtunnel host Hosten eines Entwicklungstunnels. Wenn keine Dev-Tunnel-ID angegeben ist, wird ein neuer temporärer Entwicklungstunnel erstellt, der gelöscht wird, nachdem die Verbindung geschlossen wurde.

Hier sind einige Beispiele für die Verwendung dieses Befehls:

Beispiele Beschreibung
devtunnel host -p 3000 Hosten Sie einen temporären Entwicklungstunnel für einen Server, der Port 3000 überwacht, auf dem Hostsystem.
devtunnel host -p 3000 --allow-anonymous Hosten Sie einen temporären Entwicklungstunnel, und aktivieren Sie anonymen Clientzugriff.
devtunnel host -p 3000 5000 Hosten Sie einen temporären Entwicklungstunnel für lokale Server, die auf ports 3000 und 5000 lauschen.
devtunnel host -p 8443 --protocol https Hosten Sie einen temporären Entwicklungstunnel für einen Server, der auf Port 8443 lauscht, der das HTTPS-Protokoll verwendet.
devtunnel host -p 8000 --expiration 2d Hosten Sie einen temporären Entwicklungstunnel mit einer benutzerdefinierten Ablaufzeit. Mindestens 1 Stunde (1h) und das Maximum beträgt 30 Tage (30d).
devtunnel host TUNNELID Hosten Sie einen vorhandenen Entwicklungstunnel, der zuvor konfiguriert wurde.

Warnung

Der anonyme Zugriff auf einen Entwicklungstunnel bedeutet, dass jeder im Internet eine Verbindung mit Ihrem lokalen Server herstellen kann, wenn er die Dev-Tunnel-ID erraten kann.

Drücken Sie CTRL-C , um den Entwicklungstunnelhostprozess zu beenden und alle Clientverbindungen über den Dev-Tunnel zu beenden. Wenn kein vorhandener Entwicklungstunnel bereitgestellt wurde, wird der vom Prozess automatisch erstellte Entwicklungstunnel beim Beenden des Prozesses gelöscht.

Verbinden zu einem Entwicklungstunnel

Verwenden der Webweiterleitungs-UI:

Der devtunnel host Befehl zeigt die Ausgabe ähnlich der folgenden:

Hosting port 3000 at https://l3rs99qw-3000.usw2.devtunnels.ms/

Der angezeigte https: URI ist für den Dev-Tunnelport eindeutig: Die erste Komponente ist ein Unterdo Standard mit der angegebenen Dev-Tunnel-ID und Portnummer.

Wenn der gehostete Port eine Verbindung mit einem Webserver herstellt, kann dieser URI von praktisch überall aus direkt in einem Browser geöffnet werden. Wenn der Zugriff auf den Dev-Tunnel eine Autorisierung erfordert, leitet die anfängliche Anforderung an den URI zu einer Anmeldeseite um und kehrt nach der Autorisierung des Benutzers zur Website zurück.

Wenn der gehostete Port eine Verbindung mit einem Webdienst herstellt, kann dieser URI von einer Webdienstclientanwendung als Basis-URI verwendet werden. Wenn der Dev-Tunnel jedoch keinen anonymen Zugriff zulässt, weiß der Webdienstclient normalerweise nicht, wie man sich authentifiziert. Wenn der Webdienst öffentlich zugänglich gemacht werden kann, erwägen Sie, anonymen Zugriff zuzulassen. Andernfalls kann ein Webdienstclient einen Anforderungsheader mit einem Dev-Tunnel-Zugriffstoken hinzufügen, um die Verbindung zu autorisieren.

Verwenden der CLI:

Anstatt einen Clientbrowser oder eine Anwendung direkt mit einem Dev-Tunnelrelay-URI zu verbinden, kann die CLI verwendet werden, um Verbindungen von einem Port auf dem Client an einen Dev-Tunnelport weiterzuleiten. Der Client muss sich möglicherweise auch anmelden, wenn der Dev-Tunnel keinen anonymen Zugriff zulässt.

devtunnel connect TUNNELID
  • Ersetzen Sie durch TUNNELID dieselbe Dev-Tunnel-ID, die auf dem Host verwendet wurde.

Die erfolgreiche Clientausgabe ähnelt folgendem:

Connected to tunnel: l3rs99qw
SSH: Forwarding from 127.0.0.1:3000 to host port 3000.
SSH: Forwarding from [::1]:3000 to host port 3000.

Jetzt ist der Server, der auf dem Port 3000 des Hosts freigegeben wurde, auf localhost:3000 dem Client verfügbar, entweder mit IPv4 oder IPv6. (Das Präfix "SSH" liegt daran, dass der Dev-Tunneldienst auf dem standardmäßigen SSH-Protokoll für die Portweiterleitung aufbaut.) Wenn der gehostete Port eine Verbindung mit einem Webserver herstellt, kann er http://localhost:3000/ in einem Browser geöffnet werden. In diesem Fall ist keine weitere Autorisierung erforderlich, da das CLI-Anmeldetoken des Clients verwendet wurde, um die Verbindung bei Bedarf zu autorisieren.

Erweitert: Verwalten von Entwicklungstunneln

Es ist möglich, einen Entwicklungstunnel zu erstellen, ohne ihn noch zu hosten. Dies ist nützlich für die erweiterte Konfiguration und Verwaltung von Entwicklungstunneln, z. B.:

  • Auflisten aller eigenen Dev-Tunnel
  • Hinzufügen und Entfernen von Ports eines Dev-Tunnels
  • Verwalten von Zugriffssteuerungen für Dev-Tunnel
  • Hinzufügen von Metadaten zu einem Entwicklungstunnel wie Beschreibung und Tags
Befehl Beschreibung
devtunnel create Erstellen eines beständigen Entwicklungstunnels
devtunnel list Auflisten von Entwicklungstunneln
devtunnel show Details zum Dev-Tunnel anzeigen
devtunnel update Aktualisieren von Entwicklungstunneleigenschaften
devtunnel delete Löschen eines Entwicklungstunnels
devtunnel delete-all Löschen aller Entwicklungstunnel

Hier sind einige Beispiele für die Verwendung dieser Befehle:

Beispiele Beschreibung
devtunnel create -a Erstellen Sie einen beständigen Entwicklungstunnel, der anonymen Zugriff zulässt.
devtunnel create -d 'my tunnel description' Erstellen Sie einen persistenten Entwicklungstunnel mit einer nicht durchsuchbaren Beschreibung.
devtunnel create --expiration 4h Erstellen Sie einen beständigen Entwicklungstunnel mit einer benutzerdefinierten Ablaufzeit. Mindestens 1 Stunde (1h) und das Maximum beträgt 30 Tage (30d).
devtunnel create myTunnelID Erstellen Sie einen beständigen Entwicklungstunnel mit einer benutzerdefinierten Tunnel-ID.
devtunnel create --tags my-web-app v1 Erstellen Sie einen persistenten Entwicklungstunnel, und wenden Sie durchsuchbare Tags an.
devtunnel list --tags my-web-app Auflisten von Entwicklungstunneln mit einem der angegebenen Tags.
devtunnel list --all-tags my-web-app v1 Auflisten von Entwicklungstunneln mit allen angegebenen Tags.
devtunnel show Zeigen Sie Details zum zuletzt verwendeten Dev-Tunnel an.
devtunnel show TUNNELID Details für einen Dev-Tunnel anzeigen.
devtunnel update TUNNELID -d 'my new tunnel description' Aktualisieren Sie die Beschreibung eines Entwicklungstunnels.
devtunnel update TUNNELID --remove-tags Entfernen Sie alle Tags aus einem Dev-Tunnel.
devtunnel update TUNNELID --expiration 10d Aktualisieren Sie einen Dev-Tunnel mit einer neuen benutzerdefinierten Ablaufzeit. Mindestens 1 Stunde (1h) und das Maximum beträgt 30 Tage (30d).
devtunnel delete TUNNELID Löschen eines Entwicklungstunnels.
devtunnel delete-all Löschen Sie alle Ihre Entwicklungstunnel.

Tipp

Die meisten CLI-Befehle funktionieren implizit auf dem zuletzt verwendeten Dev-Tunnel, obwohl bei Bedarf eine Dev-Tunnel-ID angegeben werden kann.

Erweitert: Verwalten von Dev-Tunnelports

Ein mit dem devtunnel create Befehl erstelltes Entwicklungstunnel verfügt anfänglich über keine Ports. Verwenden Sie devtunnel port Befehle zum Hinzufügen von Ports vor dem Hosting:

Befehl Beschreibung
devtunnel port create Erstellen eines Entwicklungstunnelports
devtunnel port list Auflisten von Dev-Tunnelports
devtunnel port show Details zum Dev-Tunnel-Port anzeigen
devtunnel port update Aktualisieren der Porteigenschaften des Dev-Tunnels
devtunnel port delete Löschen eines Entwicklungstunnelports
Beispiele Beschreibung
devtunnel port create -p 3000 --protocol http Hinzufügen eines Ports mit dem angegebenen Protokoll
devtunnel port list TUNNELID Aktuelle Ports auflisten
devtunnel port show TUNNELID -p 3000 Details für Port 3000 anzeigen
devtunnel port update -p 3000 --description 'frontend port' Aktualisieren einer Beschreibung des Dev-Tunnel-Ports
devtunnel port delete -p 3000 Löschen eines Ports

Beim Erstellen eines Ports kann das Protokoll optional angegeben werden, wenn die automatische Erkennung nicht ordnungsgemäß funktioniert. Aktuelle Optionen sind "http", "https" oder "auto" (Standard). Wenn der gehostete Port HTTPS ist, wird empfohlen, das Portprotokoll auf "https" festzulegen; andernfalls ist "auto" wahrscheinlich in Ordnung.

Starten Sie nach dem Konfigurieren eines Dev-Tunnels mit den oben genannten Befehlen mit dem Hosten:

devtunnel host

Erweitert: Verwalten des Dev-Tunnelzugriffs

Mit den folgenden Befehlen können Zugriffstoken für Dev-Tunnel ausgegeben werden, um anderen Clients Zugriff auf Ihren Dev-Tunnel zu ermöglichen, ohne anonymen Zugriff zuzulassen. Mit den Zugriffssteuerungsbefehlen können Sie die Zugriffssteuerung für Entwicklungstunnel und Dev-Tunnelports konfigurieren.

Befehl Beschreibung
devtunnel token Problem des Dev-Tunnel-Zugriffstokens
devtunnel access create Erstellen eines Zugriffssteuerungseintrags
devtunnel access list Auflisten von Zugriffssteuerungseinträgen
devtunnel access delete Löschen eines Zugriffssteuerungseintrags
devtunnel access reset Zurücksetzen von Zugriffssteuerungseinträgen auf Standardeinstellungen

Hier sind einige Beispiele für die Verwendung dieser Befehle:

Beispiele Beschreibung
devtunnel token TUNNELID --scopes connect Rufen Sie ein "Connect"-Zugriffstoken für einen Entwicklungstunnel ab, der freigegeben werden kann, um vorübergehenden Zugriff auf den Dev-Tunnel zu ermöglichen.
devtunnel access create TUNNELID --anonymous Aktivieren Sie den anonymen Clientzugriff im Dev-Tunnel.
devtunnel access create TUNNELID --anonymous --expiration 4h Aktivieren Sie den anonymen Clientzugriff auf den Dev-Tunnel mit einer benutzerdefinierten Ablaufzeit für die Zugriffssteuerung. Mindestens 1 Stunde (1h) und das Maximum beträgt 30 Tage (30d).
devtunnel access create TUNNELID --port 3000 --anonymous Aktivieren sie den anonymen Clientzugriff auf Port 3000.
devtunnel access create TUNNELID --tenant Aktivieren Sie den aktuellen Microsoft Entra-Mandantenzugriff auf den Dev-Tunnel.
devtunnel access create TUNNELID --org ORG Aktivieren Sie den Zugriff auf eine GitHub-Organisation anhand des Namens im Dev-Tunnel.

Tipp

Der Zugriff der GitHub-Organisation erfordert die Installation der GitHub-App Dev Tunnels in der Organisation.

Zusätzliche Befehle

Diese Befehle können verwendet werden, wenn Sie diesen lokalen Cache des zuletzt verwendeten Dev-Tunnels explizit festlegen oder aufheben müssen.

Befehl Beschreibung
devtunnel set Festlegen des Standard-Entwicklungstunnels
devtunnel unset Löschen des Standard-Dev-Tunnels

Diagnosebefehle

Befehl Beschreibung
devtunnel clusters Auflisten der verfügbaren Dienstcluster nach Standort
devtunnel echo Ausführen eines Diagnose-Echoservers auf einem lokalen Port
devtunnel ping Senden von Diagnosenachrichten an einen Remote-Echoserver
Beispiele Beschreibung
devtunnel clusters --ping Liste der verfügbaren Dienstcluster nach gemessener Latenz sortiert auf.
devtunnel echo http --port 8080 --interface 127.0.0.1 Starten Sie einen lokalen HTTP-Diagnoseserver auf Port 8080.

Problembehandlung

Um Probleme mit der devtunnel CLI zu beheben, können die folgenden Tipps hilfreich sein:

  • Stellen Sie sicher, dass Sie die neueste Version der devtunnel CLI verwenden. Überprüfen Sie die aktuell installierte Version mit devtunnel --version.
  • Die --verbose Option druckt Debuggingnachrichten, die zusätzliche Diagnoseinformationen bereitstellen können.