Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Herstellen einer SSH-Verbindung für eine NETCONF-Sitzung

Grundlegendes zu NETCONF-Sitzungen über SSH

Sie können das SSH-Protokoll verwenden, um Verbindungen zwischen einem Configuration Management Server (CMS) und einem Junos-Gerät herzustellen. Sie verwenden einen Configuration Management-Server, um das Junos-Gerät remote zu verwalten.

Sie können die folgenden Optionen verwenden, um eine SSH-Verbindung zwischen dem Configuration Management-Server und dem Junos-Gerät herzustellen.

  • SSH: Der Configuration Management Server initiiert eine SSH-Sitzung mit dem Junos-Gerät.

  • Ausgehendes SSH: Das Junos-Gerät initiiert, baut eine SSH-Verbindung mit einem vordefinierten Satz von Konfigurationsmanagement-Servern auf, baut sie auf und unterhält sie. Verwenden Sie diese Option, wenn der Konfigurationsverwaltungsserver aufgrund von Netzwerkeinschränkungen (z. B. einer Firewall) keine SSH-Verbindung initiieren kann.

Anmerkung:

Junos OS enthält eine angepasste Implementierung von OpenSSH für die Geräteverwaltung. Sicherheitskorrekturen werden bei Bedarf zurückportiert, unabhängig von den OpenSSH-Versionsnummern. Die in der CLI-Ausgabe angezeigte Version (z. B. show version) spiegelt möglicherweise nicht alle angewendeten Patches wider. Für Folgenabschätzungen zu Schwachstellen sollten Sie sich stets an die Juniper Security Advisories (JSAs) halten.

Allgemeine Voraussetzungen für NETCONF-Sitzungen über SSH oder ausgehendes SSH

Für NETCONF-Sitzungen, die entweder SSH oder ausgehendes SSH verwenden, müssen Sie SSH-Software auf dem Konfigurationsmanagement-Server installieren und den NETCONF-Dienst auf dem Junos-Gerät aktivieren. In den folgenden Abschnitten finden Sie detaillierte Anweisungen:

Installieren der SSH-Software auf dem Configuration Management Server

Bei SSH-Verbindungen verwaltet der Configuration Management Server (CMS) die SSH-Verbindung mit dem Junos-Gerät. Bei ausgehenden SSH-Verbindungen stellt das Junos-Gerät die SSH-Verbindung zum Konfigurationsmanagement-Server her, woraufhin der Konfigurationsmanagement-Server die Kontrolle über die SSH-Sitzung übernimmt.

Um eine SSH- oder ausgehende SSH-Verbindung mit einem Gerät herzustellen, muss auf dem Konfigurationsmanagementserver die SSH-Software lokal installiert sein. Informationen zum Abrufen und Installieren von SSH-Software finden Sie unter:

NETCONF-Dienst über SSH aktivieren

Um NETCONF-Sitzungen auf einem Junos-Gerät einzurichten, müssen Sie den NETCONF-Service aktivieren. Sie können den NETCONF-Server so konfigurieren, dass er NETCONF-Sitzungen auf den folgenden Ports akzeptiert:

  • Standard-NETCONF-Port (830) oder ein benutzerdefinierter Port

  • Standard-SSH-Port (22)

Es wird empfohlen, den Standard-NETCONF-Port zu verwenden, da das Gerät so den NETCONF-Datenverkehr effektiver identifizieren und filtern kann. Alternativ können Sie das Gerät so konfigurieren, dass es NETCONF-Sitzungen auf einer Portnummer Ihrer Wahl anstelle des Standard-NETCONF-Ports akzeptiert. Der definierte Port akzeptiert nur NETCONF-over-SSH-Sitzungen und lehnt reguläre SSH-Sitzungsanforderungen ab.

Wenn Sie NETCONF und auch SSH-Dienste auf dem Gerät aktivieren, akzeptiert das Gerät NETCONF-Sitzungen sowohl auf dem Standard-SSH-Port als auch auf dem konfigurierten NETCONF-Port (Standard- oder benutzerdefinierter Port). Für zusätzliche Sicherheit können Sie Ereignisrichtlinien konfigurieren, die Informationen verwenden UI_LOGIN_EVENT , um die Annahme von NETCONF-Sitzungen durch den SSH-Port effektiv zu deaktivieren oder den NETCONF-Serverzugriff auf einen Port weiter einzuschränken.

So aktivieren Sie den NETCONF-Dienst über SSH auf einem Junos-Gerät:

  1. Aktivieren Sie den NETCONF-Dienst entweder auf dem Standard-NETCONF-Port (830) oder einem benutzerdefinierten Port:

    • Um den Standardport NETCONF (830) zu verwenden, fügen Sie die netconf ssh Anweisung auf der [edit system services] Hierarchieebene ein:

    • Um einen bestimmten Port zu verwenden, konfigurieren Sie die port Anweisung mit der Portnummer auf der [edit system services netconf ssh] Hierarchieebene.

      Der port-number Dosenbereich reicht von 1 bis 65535. Der konfigurierte Port akzeptiert nur NETCONF-over-SSH-Sitzungen und lehnt reguläre SSH-Sitzungsanforderungen ab.

      Anmerkung:

      Obwohl Sie NETCONF auf jedem Port von 1 bis 65535 konfigurieren können, sollten Sie den Zugriff nicht auf einen Port konfigurieren, der normalerweise einem anderen Dienst zugewiesen ist. Auf diese Weise werden potenzielle Ressourcenkonflikte vermieden. Wenn Sie einen Port konfigurieren, der einem anderen Dienst zugewiesen ist, z. B. FTP, und dieser Dienst aktiviert ist, wird kein commit check Ressourcenkonflikt angezeigt und keine Warnmeldung ausgegeben.

  2. (Optional) Um auch den Zugriff auf das SSH-Subsystem NETCONF über den Standard-SSH-Port (22) zu ermöglichen, fügen Sie die ssh Anweisung auf der [edit system services] Hierarchieebene ein.

    Diese Konfiguration ermöglicht den SSH-Zugriff auf das Gerät für alle Benutzer und Anwendungen.

    Anmerkung:

    In Versionen, in denen das Standardverhalten darin besteht, die Verwendung des SSH-Diensts durch den Root-Benutzer einzuschränken, müssen Sie die root-login allow Anweisung auf Hierarchieebene [edit system services ssh] konfigurieren, damit der Root-Benutzer NETCONF-Sitzungen über SSH öffnen kann.

  3. (Optional) Konfigurieren Sie das Gerät so, dass nicht reagierende NETCONF-Clients getrennt werden.

    Geben Sie das Zeitüberschreitungsintervall (in Sekunden) an, nach dem der sshd-Prozess eine Antwort anfordert, wenn keine Daten vom Client empfangen wurden. Geben Sie außerdem den Schwellenwert für verpasste Client-Alive-Antworten an, der eine Trennung auslöst.

    Anmerkung:

    Anweisungen, die auf der [edit system services netconf ssh] Hierarchieebene konfiguriert sind, gelten nur für NETCONF-Sitzungen, die eine Verbindung über den Standardport (830) oder über den benutzerdefinierten Port herstellen, der auf derselben Hierarchieebene konfiguriert ist.

  4. Bestätigen Sie die Konfiguration:

  5. Wiederholen Sie die vorherigen Schritte auf jedem Junos-Gerät, auf dem die Client-Anwendung NETCONF-Sitzungen einrichtet.

Voraussetzungen für den Aufbau einer SSH-Verbindung für NETCONF-Sitzungen

Bevor der Configuration Management Server eine SSH-Verbindung mit einem Junos-Gerät herstellen kann, müssen Sie die allgemeinen Anforderungen erfüllen, die unter erläutert werden:

Sie müssen auch die Anforderungen erfüllen, die in den folgenden Abschnitten erläutert werden:

Konfigurieren eines Benutzerkontos für die Client-Anwendung auf Junos-Geräten

Der Konfigurationsmanagement-Server muss sich beim Junos-Gerät anmelden, um eine NETCONF-Sitzung einzurichten. Daher benötigt der Konfigurationsmanagement-Server ein Benutzerkonto auf jedem Gerät, auf dem er eine NETCONF-Sitzung einrichtet. In den folgenden Anweisungen wird erläutert, wie Sie ein lokales Benutzerkonto auf Junos-Geräten erstellen. Alternativ können Sie diesen Abschnitt überspringen und die Authentifizierung über RADIUS oder TACACS+ aktivieren.

So erstellen Sie ein lokales Benutzerkonto:

  1. Konfigurieren Sie die user Anweisung und geben Sie einen Benutzernamen an. Schließen Sie die class Anweisung ein, und geben Sie eine Anmeldeklasse an, die über die Berechtigungen verfügt, die für alle Aktionen erforderlich sind, die von der Anwendung ausgeführt werden sollen.
  2. Optional können Sie die full-name and-Anweisungen uid auf der [edit system login user username] Hierarchieebene einschließen.
  3. Bestätigen Sie die Konfiguration, um das Benutzerkonto auf dem Gerät zu aktivieren.
  4. Wiederholen Sie die vorherigen Schritte auf jedem Junos-Gerät, auf dem die Client-Anwendung NETCONF-Sitzungen einrichtet.

Konfigurieren eines öffentlichen/privaten Schlüsselpaars oder Kennworts für das Junos OS-Benutzerkonto

Der Konfigurationsverwaltungsserver benötigt ein öffentliches/privates SSH-Schlüsselpaar, ein textbasiertes Kennwort oder beides, um sich beim NETCONF-Server zu authentifizieren. Ein Schlüsselpaar ist ausreichend, wenn das Konto nur für die Verbindung mit dem NETCONF-Server über SSH verwendet wird. Wenn das Konto auch verwendet wird, um auf andere Weise auf das Gerät zuzugreifen (z. B. für die Anmeldung an der Konsole), muss es über ein textbasiertes Passwort verfügen. Das Kennwort wird auch verwendet (der SSH-Server fordert zur Eingabe auf), wenn die schlüsselbasierte Authentifizierung konfiguriert ist, aber fehlschlägt.

Anmerkung:

Sie können diesen Abschnitt überspringen, wenn Sie die Authentifizierung über RADIUS oder TACACS+ aktiviert haben.

So erstellen Sie ein textbasiertes Passwort:

  1. Schließen Sie entweder die plain-text-password oder-Anweisung encrypted-password auf der [edit system login user username authentication] Hierarchieebene ein.

    Um ein Passwort als Text einzugeben, geben Sie den folgenden Befehl ein. Sie werden zur Eingabe des Kennworts aufgefordert, das das Gerät vor dem Speichern verschlüsselt.

    Geben Sie den folgenden Befehl ein, um ein Kennwort einzugeben, das Sie zuvor mit MD5 oder SHA-1 erstellt und gehasht haben:

  2. Bestätigen Sie die Konfiguration.
  3. Wiederholen Sie die vorherigen Schritte auf jedem Gerät, auf dem die Clientanwendung NETCONF-Sitzungen einrichtet.

Führen Sie die folgenden Schritte aus, um ein öffentliches/privates SSH-Schlüsselpaar zu erstellen:

  1. Geben Sie auf dem Konfigurationsverwaltungsserver, auf dem die Clientanwendung ausgeführt wird, den ssh-keygen Befehl in der Standardbefehlsshell ein, und geben Sie die entsprechenden Argumente an.

    Zum Beispiel:

    Weitere Informationen zu ssh-keygen den Optionen finden Sie auf der Manpage des ssh-keygen Befehls.

  2. Verknüpfen Sie den öffentlichen Schlüssel mit dem Junos OS-Anmeldekonto.

    Junos OS kopiert den Inhalt der angegebenen Datei auf das Gerät. URL ist der Pfad zu der Datei, die einen oder mehrere öffentliche Schlüssel enthält. Der ssh-keygen Befehl speichert standardmäßig jeden öffentlichen Schlüssel in einer Datei im Unterverzeichnis .ssh des Home-Verzeichnisses des Benutzers; der Dateiname hängt von der Kodierung und der SSH-Version ab. Weitere Informationen zum Angeben von URLs finden Sie im CLI-Benutzerhandbuch.

    Anmerkung:

    Alternativ können Sie die ssh-rsa Anweisung auch auf Hierarchieebene [edit system login user account-name authentication] einschließen. Es wird jedoch empfohlen, die load-key-file Anweisung zu verwenden, da dadurch das Eingeben oder Ausschneiden und Einfügen des öffentlichen Schlüssels in der Befehlszeile entfällt.

  3. Bestätigen Sie die Konfiguration.

  4. Wiederholen Sie Schritt 2 und Schritt 3 auf jedem Junos-Gerät, auf dem die Client-Anwendung NETCONF-Sitzungen einrichtet.

Zugriff auf die Schlüssel oder das Kennwort mit der Clientanwendung

Die Clientanwendung muss in der Lage sein, auf das konfigurierte Schlüsselpaar oder Kennwort zuzugreifen und es bereitzustellen, wenn der NETCONF-Server dazu auffordert.

Es gibt mehrere Methoden, um der Anwendung den Zugriff auf den Schlüssel oder das Kennwort zu ermöglichen:

  • Wenn öffentliche/private Schlüssel verwendet werden, wird das Programm ssh-agent auf dem Gerät ausgeführt, auf dem die Client-Anwendung ausgeführt wird, und verarbeitet den privaten Schlüssel.

  • Wenn ein Benutzer die Anwendung startet, fordert die Anwendung den Benutzer zur Eingabe des Kennworts auf und speichert es vorübergehend auf sichere Weise.

  • Das Kennwort wird in verschlüsselter Form an einem sicheren Speicherort auf dem lokalen Datenträger oder in einer gesicherten Datenbank gespeichert.

Voraussetzungen für den Aufbau einer ausgehenden SSH-Verbindung für NETCONF-Sitzungen

Damit ein Konfigurationsverwaltungsserver eine ausgehende SSH-Verbindung mit dem NETCONF-Server herstellen kann, müssen Sie die allgemeinen Anforderungen erfüllen, die in den folgenden Abschnitten erläutert werden:

Sie müssen auch die Anforderungen erfüllen, die in den folgenden Abschnitten erläutert werden:

Konfigurieren des Junos-Geräts für ausgehende SSH

So konfigurieren Sie das Junos-Gerät für ausgehendes SSH:

  1. Legen Sie auf Hierarchieebene [edit system services ssh] die SSH protocol-version auf v2 fest:
  2. Generieren oder Abrufen eines öffentlichen/privaten Schlüsselpaars für das Junos-Gerät. Dieses Schlüsselpaar wird verwendet, um die über die SSH-Verbindung übertragenen Daten zu verschlüsseln.
  3. Wenn Sie den öffentlichen Schlüssel manuell auf dem Konfigurationsverwaltungsserver installieren, übertragen Sie den öffentlichen Schlüssel an den Postfachcluster.
  4. Schließen Sie auf der [edit system services] Hierarchieebene die outbound-ssh Konfigurationshierarchie und alle erforderlichen Anweisungen ein.

    Ausführliche Informationen zu den einzelnen Optionen finden Sie unter outbound-ssh.

  5. Bestätigen Sie die Konfiguration:

Empfangen und Verwalten der ausgehenden SSH-Initiierungssequenz auf dem Client

Wenn Sie ein Junos-Gerät für ausgehendes SSH konfigurieren, versucht das Gerät, eine konstante Verbindung mit einem Konfigurationsmanagement-Server aufrechtzuerhalten. Wenn keine ausgehende SSH-Sitzung eingerichtet wird, sendet das Gerät eine ausgehende SSH-Initiierungssequenz an einen Konfigurationsverwaltungsserver, der in der Liste des Konfigurationsverwaltungsservers des Geräts aufgeführt ist. Bevor eine Verbindung mit dem Gerät hergestellt wird, muss jeder Konfigurationsmanagementserver so eingerichtet werden, dass er diese Initiierungssequenz empfängt, eine TCP-Verbindung mit dem Gerät herstellt und die Geräteidentität zurück an das Gerät überträgt.

Die Initiierungssequenz nimmt eine von zwei Formen an, je nachdem, wie Sie mit dem öffentlichen Schlüssel des Junos OS-Servers umgehen.

Wenn der öffentliche Schlüssel manuell auf dem Konfigurationsmanagement-Server installiert wird, sieht die Initiierungssequenz wie folgt aus:

Wenn das Gerät den öffentlichen Schlüssel während der Initialisierungssequenz an den Konfigurationsmanagementserver weiterleitet, nimmt die Sequenz die folgende Form an:

Tabellarischer Änderungsverlauf

Die Unterstützung der Funktion hängt von der Plattform und der Version ab, die Sie benutzen. Verwenden Sie Funktionen entdecken , um festzustellen, ob eine Funktion auf Ihrer Plattform unterstützt wird.

Loslassen
Beschreibung
15.1
Ab Junos OS Version 15.1 unterstützt Junos OS ausgehende SSH-Verbindungen mit Geräten, die über IPv6-Adressen verfügen.