Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Remote Access – Überblick

Sie (der Netzwerkadministrator) können über Services wie DHCP, Finger, FTP, rlogin, SSH und Telnet-Services remote auf einen Router, Switch oder ein Sicherheitsgerät zugreifen. In diesem Thema erfahren Sie, wie Sie den Remotezugriff mithilfe von Telnet-, SSH-, FTP- und Finger-Diensten konfigurieren.

Übersicht über Systemservices

Aus Sicherheitsgründen ist der Fernzugriff auf den Router standardmäßig deaktiviert. Sie müssen den Router explizit so konfigurieren, dass Benutzer auf Remote-Systemen darauf zugreifen können. Benutzer können von einem Remote-System aus über die DHCP-, Finger-, FTP-, rlogin-, SSH- und Telnet-Dienste auf den Router zugreifen. Darüber hinaus können Junos XML-Protokoll-Clientanwendungen unter anderem Secure Sockets Layer (SSL) oder den protokollspezifischen Junos XML-Klartextdienst verwenden.

Anmerkung:

Um Systemressourcen zu schützen, können Sie die Anzahl der gleichzeitigen Verbindungen, die ein Dienst akzeptiert, und die Anzahl der Prozesse, die sich im Besitz eines einzelnen Benutzers befinden, begrenzen. Wenn einer der Grenzwerte überschritten wird, schlagen Verbindungsversuche fehl.

Konfigurieren des Telnet-Dienstes für den Remote-Zugriff auf einen Router oder Switch

Um den Router oder Switch so zu konfigurieren, dass Telnet als Zugriffsdienst akzeptiert wird, fügen Sie die telnet Anweisung auf der [edit system services] Hierarchieebene ein:

Standardmäßig unterstützt der Router oder Switch eine begrenzte Anzahl gleichzeitiger Telnet-Sitzungen und Verbindungsversuche pro Minute.

Optional können Sie eine oder beide der folgenden Anweisungen einschließen, um die Standardwerte zu ändern:

  • connection-limit limitMaximale Anzahl gleichzeitiger Verbindungen pro Protokoll (IPv4 und IPv6). Der Bereich reicht von 1 bis 250. Der Standardwert ist 75. Wenn Sie ein Verbindungslimit konfigurieren, gilt das Limit für die Anzahl der Telnet-Sitzungen pro Protokoll (IPv4 und IPv6). Bei einem Verbindungslimit von 10 sind beispielsweise 10 IPv6-Telnet-Sitzungen und 10 IPv4-Telnet-Sitzungen zulässig.

  • rate-limit limit– Maximal zulässige Anzahl von Verbindungsversuchen pro Minute (von 1 bis 250). Der Standardwert ist 150. Wenn Sie ein Ratenlimit konfigurieren, gilt das Limit für die Anzahl der Verbindungsversuche pro Protokoll (IPv4 und IPv6). Ein Ratenlimit von 10 erlaubt z. B. 10 Verbindungsversuche mit einer IPv6-Telnet-Sitzung pro Minute und 10 Verbindungsversuche mit einer IPv4-Telnet-Sitzung pro Minute.

Konfigurieren des FTP-Dienstes für den Remote-Zugriff auf den Router oder Switch

Um das Gerät so zu konfigurieren, dass es FTP als Zugriffsdienst akzeptiert, fügen Sie die ftp Anweisung auf der [edit system services] Hierarchieebene ein:

Sie können passives FTP verwenden, um auf Geräte zuzugreifen, die nur passive FTP-Dienste akzeptieren. Alle Befehle und Anweisungen, die FTP verwenden, akzeptieren auch passives FTP. Fügen Sie die ftp Anweisung auf der [edit system services] Hierarchieebene ein, um entweder aktives oder passives FTP zu verwenden.

Um eine passive FTP-Sitzung zu starten, verwenden Sie pasvftp (anstelle von ftp ) im Standard-FTP-Format (ftp://destination). Zum Beispiel:

Konfigurieren von Finger Service für den Remote-Zugriff auf den Router

Um den Router so zu konfigurieren, dass er finger als Zugriffsdienst akzeptiert, fügen Sie die finger Anweisung auf der [edit system services] Hierarchieebene ein:

Konfigurieren des SSH-Dienstes für den Remote-Zugriff auf den Router oder Switch

Um den Router oder Switch so zu konfigurieren, dass SSH als Zugriffsdienst akzeptiert wird, fügen Sie die ssh Anweisung auf der [edit system services] Hierarchieebene ein:

Standardmäßig unterstützt der Router oder Switch eine begrenzte Anzahl gleichzeitiger SSH-Sitzungen und Verbindungsversuche pro Minute. Verwenden Sie die folgenden Anweisungen, um die Standardeinstellungen zu ändern:

  • connection-limit limit– Maximale Anzahl gleichzeitiger Verbindungen pro Protokoll (IPv4 und IPv6). Der Bereich ist ein Wert zwischen 1 und 250. Der Standardwert ist 75. Wenn Sie ein Verbindungslimit konfigurieren, gilt das Limit für die Anzahl der SSH-Sitzungen pro Protokoll (IPv4 und IPv6). Ein Verbindungslimit von 10 erlaubt beispielsweise 10 IPv6-SSH-Sitzungen und 10 IPv4-SSH-Sitzungen.

  • max-sessions-per-connection number– Fügen Sie diese Anweisung ein, um die maximal zulässige Anzahl von SSH-Sitzungen pro einzelner SSH-Verbindung anzugeben. Auf diese Weise können Sie die Anzahl der geklonten Sitzungen, die innerhalb einer einzelnen SSH-Verbindung getunnelt werden, begrenzen. Der Standardwert ist 10.

  • rate-limit limit– Maximale Anzahl der akzeptierten Verbindungsversuche pro Minute (ein Wert zwischen 1 und 250). Der Standardwert ist 150. Wenn Sie ein Ratenlimit konfigurieren, gilt das Limit für die Anzahl der Verbindungsversuche pro Protokoll (IPv4 und IPv6). Ein Ratenlimit von 10 erlaubt z. B. 10 IPv6-SSH-Sitzungsverbindungsversuche pro Minute und 10 IPv4-SSH-Sitzungsverbindungsversuche pro Minute.

  • data-limit– Datenlimit vor der Neuaushandlung von Sitzungsschlüsseln (Bytes)

  • time-limit– Zeitlimit bis zur Neuverhandlung von Sitzungsschlüsseln (Minuten)

Standardmäßig kann ein Benutzer über eine CLI-Sitzung einen SSH-Tunnel zu einem Router mit Junos OS über SSH erstellen. Diese Art von Tunnel kann verwendet werden, um TCP-Datenverkehr unter Umgehung von Firewall-Filtern oder Zugriffskontrolllisten weiterzuleiten. Durch die Umgehung von Firewall-Filtern oder Zugriffskontrolllisten ermöglicht diese Art von Tunnel den Zugriff auf Ressourcen jenseits des Routers. Verwenden Sie die no-tcp-forwarding Option, um zu verhindern, dass ein Benutzer einen SSH-Tunnel zu einem Router über SSH erstellt.

Informationen zu anderen Konfigurationseinstellungen finden Sie in den folgenden Themen:

Konfigurieren der Root-Anmeldung über SSH

Standardmäßig können sich Benutzer über SSH beim Router oder Switch root anmelden, wenn für die Authentifizierungsmethode kein Kennwort erforderlich ist. Um den Benutzerzugriff über SSH zu steuern, fügen Sie die root-login Anweisung auf der [edit systems services ssh] Hierarchieebene ein:

allowErmöglicht es Benutzern, sich über SSH als root beim Router oder Switch anzumelden.

denyVerhindert, dass sich Benutzer über SSH als root beim Router oder Switch anmelden.

deny-password Ermöglicht es Benutzern, sich über SSH als root am Router oder Switch anzumelden, wenn für die Authentifizierungsmethode (z. B. RSA) kein Kennwort erforderlich ist.

Der Standardwert ist deny-password.

Konfigurieren eingehender SFTP-Verbindungen

SSH File Transfer Protocol (SFTP) ist ein Netzwerkprotokoll, das Dateizugriff, Dateiübertragung und Dateiverwaltung über jeden zuverlässigen Datenstrom ermöglicht. Eingehende SFTP-Verbindungen sind standardmäßig deaktiviert. Falls gewünscht, können Sie eingehende SFTP-Verbindungen global aktivieren, indem Sie die Anweisung sftp-server auf Hierarchieebene [edit system services ssh] konfigurieren.

Anmerkung:

Standardmäßig sind nur die eingehenden SFTP-Verbindungen deaktiviert. Beispielsweise können Sie bei bestimmten Geräten A und B standardmäßig keine Verbindung über SFTP von B nach A herstellen. Sie können jedoch eine Verbindung über SFTP von Gerät B zu Gerät A herstellen, wenn Sie auf Gerät A konfigurieren sftp-server .

Die eingehenden SFTP-Verbindungen sind standardmäßig deaktiviert. So aktivieren Sie eingehende SFTP-Verbindungen:

  1. Konfigurieren Sie die sftp-server Anweisung auf Hierarchieebene[edit system services ssh]:
  2. Bestätigen Sie die Konfiguration.

    Die sftp-server Anweisung ist jetzt aktiv. Daher werden die eingehenden SFTP-Verbindungen aktiviert.

Konfigurieren der SSH-Protokollversion

Standardmäßig ist nur Version 2 des SSH-Protokolls aktiviert.

Um den Router oder Switch für die Verwendung von Version 2 des SSH-Protokolls zu konfigurieren, schließen Sie die protocol-version Anweisung ein, und geben Sie auf der [edit system services ssh] Hierarchieebene Folgendes anv2:

Konfigurieren des Client-Alive-Mechanismus

Der Mechanismus für die Clientaktivierung ist nützlich, wenn der Client oder Server darauf angewiesen ist, zu wissen, wann eine Verbindung inaktiv geworden ist. Er unterscheidet sich vom standardmäßigen Keepalive-Mechanismus dadurch, dass die Client-Alive-Nachrichten über den verschlüsselten Kanal gesendet werden. Der Client-Alive-Mechanismus ist standardmäßig nicht aktiviert. Um sie zu aktivieren, konfigurieren Sie die client-alive-count-max and-Anweisungen client-alive-interval . Diese Option gilt nur für das SSH-Protokoll Version 2.

Im folgenden Beispiel werden nicht reagierende SSH-Clients nach ca. 100 Sekunden (20 x 5) getrennt:

Konfigurieren des SSH-Fingerabdruck-Hash-Algorithmus

Um den Hashalgorithmus zu konfigurieren, der vom SSH-Server bei der Anzeige von Schlüsselfingerabdrücken verwendet wird, schließen Sie die fingerprint-hash Anweisung ein, und geben Sie oder sha2-256 auf der [edit system services ssh] Hierarchieebene anmd5:

Übersicht über die zertifikatbasierte SSH-Authentifizierung

Ab Junos OS und Junos OS Evolved Version 22.4R1 können Sie die auf SSH-Zertifikaten basierende Authentifizierung für Benutzer und Hosts konfigurieren. Mit dieser Funktion können Sie einen passwortlosen SSH-Zugriff für Benutzer einrichten und Hosts vertrauen, ohne die Fingerabdrücke des Schlüssels überprüfen zu müssen.

Vorteile der zertifikatbasierten SSH-Authentifizierung

  • Die auf SSH-Zertifikaten basierende Authentifizierung macht es für Benutzer überflüssig, sich Passwörter zu merken und einzugeben, wodurch der Anmeldeprozess optimiert wird.

  • Im Vergleich zu herkömmlichen passwortbasierten Ansätzen bieten SSH-Zertifikate eine höhere Sicherheit. Sie sind schwieriger zu knacken, da kein Passwort erraten oder geknackt werden muss.

  • SSH-Zertifikate vereinfachen die Verwaltung von Authentifizierungsschlüsseln. Anstatt einzelne Schlüssel für jeden Benutzer und Host zu verwalten, können Administratoren Zertifikate von einer zentralen Zertifizierungsstelle ausstellen und widerrufen.

Generieren von Signaturschlüsseln

Signaturschlüssel sind spezielle kryptografische Schlüssel, die bei der zertifikatbasierten SSH-Authentifizierung verwendet werden. Der erste Schritt zum Konfigurieren der zertifikatbasierten SSH-Authentifizierung ist das Generieren von Signaturschlüsseln. Sie können Signaturschlüssel auf jedem Linux/FreeBSD-System generieren. Führen Sie die folgenden Schritte aus, um Signaturschlüssel für die zertifikatbasierte SSH-Authentifizierung zu generieren:

  1. Führen Sie den folgenden Befehl aus: ssh-keygen -f <filename_ca>. Dadurch werden ein privater Schlüssel mit dem Namen und ein entsprechender öffentlicher Schlüssel mit dem Namen <filename_ca> <filename_ca.pub>erstellt.

  2. Melden Sie sich bei Ihrem Juniper Gerät an und konfigurieren Sie die SSH-Schlüsseldatei für die vertrauenswürdige Benutzer-Zertifizierungsstelle (CA), indem Sie den folgenden Befehl ausführen: set system services ssh trusted-user-ca-key-file <path-to-public-key> und bestätigen Sie dann die Konfiguration.

  3. Jeder Benutzer kann seine eigenen Benutzerschlüssel mit dem folgenden CLI-Befehl generieren: ssh-keygen -t <rsa|ecdsa|ed25519>.

  4. Kopieren Sie den vom Benutzer erstellten öffentlichen Schlüssel auf den Computer, der über die Benutzerzertifikate <filename_ca> und <filename_ca.pub>verfügt.

  5. Signieren Sie den öffentlichen Schlüssel des Benutzers in der <filename_ca.pub> Datei.

Konfiguration

Verwenden Sie die folgenden CLI-Konfigurationsanweisungen, um die auf SSH-Zertifikaten basierende Authentifizierung zu konfigurieren:

  • [system services ssh trusted-user-ca-key-file filename]– Konfigurieren Sie die TrustedUserCAKey Datei unter /etc/ssh/sshd_config, die die öffentlichen Schlüssel eines SSH-Zertifikats enthält.

  • [system services ssh host-certificate-file filename]– Konfigurieren Sie die HostCertificate Datei unter /etc/ssh/sshd_config, die das signierte Host-Zertifikat enthält.

  • [system services ssh authorized-principals-file filename]– Konfigurieren Sie die AuthorizedPrincipals Datei unter /var/etc, die eine Liste von Namen enthält, von denen einer im Zertifikat enthalten sein muss, damit sie für die Authentifizierung akzeptiert wird.

  • [system services ssh authorized-principals-command program-path]: Geben Sie ein Programm an, das zum Generieren der Liste der zulässigen Zertifikatprinzipale in der AuthorizedPrincipals Datei verwendet werden soll.

Deaktivieren von SSH

Wenn Sie SSH aktiviert haben und es deaktivieren möchten, entfernen Sie die ssh Anweisung einfach von der Hierarchieebene [edit system services] .

Wenn Sie nur externes SSH deaktivieren möchten, verwenden Sie die access-disable-external Anweisung auf Hierarchieebene [edit system services ssh] .

Wenn SSH standardmäßig aktiviert ist, können Sie es nicht wie gewohnt über die Hierarchie [edit system services] deaktivieren. Stattdessen können Sie einen Firewallfilter konfigurieren, um den SSH-Zugriff zu verweigern:

Schritt-für-Schritt-Anleitung

Führen Sie die folgenden Schritte aus, um einen Firewallfilter so zu konfigurieren, dass der SSH-Zugriff verweigert wird:

  1. Definieren Sie den Filterbegriff 1. Dieser Begriff verweigert TCP-Datenverkehr von SSH:

  2. Definieren Sie den Filterbegriff 2. Dieser Begriff lässt jeden Datenverkehr zu, der nicht durch den Filterbegriff 1verweigert wird:

Weitere Informationen zur Verwendung von Firewallfiltern zum Deaktivieren von SSH finden Sie unter Beispiel: Konfigurieren eines Filters zum Blockieren des Telnet- und SSH-Zugriffs.

Der Telnet-Befehl

Sie können den CLI-Befehl telnet verwenden, um eine Telnet-Sitzung mit einem Remotegerät zu öffnen:

Um die Telnet-Sitzung zu beenden und zur Telnet-Eingabeaufforderung zurückzukehren, drücken Sie Strg-].

Um die Telnet-Sitzung zu beenden und zur CLI-Eingabeaufforderung zurückzukehren, geben Sie ein quit.

Tabelle 1: CLI-Telnet-Befehlsoptionen

Option

Beschreibung

8bit

Verwenden Sie einen 8-Bit-Datenpfad.

host

Öffnen Sie eine Telnet-Sitzung mit dem angegebenen Hostnamen oder der angegebenen IP-Adresse.

inet

Erzwingen Sie die Telnet-Sitzung auf ein IPv4-Ziel.

inet6

Erzwingen Sie die Telnet-Sitzung mit einem IPv6-Ziel.

port port

Geben Sie die Portnummer oder den Dienstnamen auf dem Host an.

routing-instance routing-instance-name

Verwenden Sie die angegebene Routing-Instanz für die Telnet-Sitzung.

Der Befehl ssh

Sie können den CLI-Befehl ssh verwenden, um das Secure Shell-Programm (SSH) zu verwenden, um eine Verbindung zu einem Remotegerät zu öffnen:

In Tabelle 2 werden die ssh Befehlsoptionen beschrieben.

Tabelle 2: CLI-SSH-Befehlsoptionen

Option

Beschreibung

bypass-routing

Umgehen Sie die Routing-Tabellen und öffnen Sie eine SSH-Verbindung nur zu Hosts auf direkt angeschlossenen Schnittstellen. Wenn sich der Host nicht auf einer direkt angeschlossenen Schnittstelle befindet, wird eine Fehlermeldung zurückgegeben.

host

Öffnen Sie eine SSH-Verbindung mit dem angegebenen Hostnamen oder der angegebenen IP-Adresse.

inet

Erzwingen Sie die SSH-Verbindung zu einem IPv4-Ziel.

inet6

Erzwingen Sie die SSH-Verbindung zu einem IPv6-Ziel.

interface source-interface

Öffnen Sie eine SSH-Verbindung zu einem Host auf der angegebenen Schnittstelle. Wenn Sie diese Option nicht angeben, werden alle Schnittstellen verwendet.

routing-instance routing-instance-name

Verwenden Sie die angegebene Routinginstanz für die SSH-Verbindung.

logical-system

Verwenden Sie das angegebene logische System für die SSH-Verbindung.

source address

Verwenden Sie die angegebene Quelladresse für die SSH-Verbindung.

v2

Erzwingen Sie die Verwendung von Version 2 für die Verbindung.

Konfigurieren bekannter SSH-Hostschlüssel für sicheres Kopieren von Daten

Secure Shell (SSH) verwendet Verschlüsselungsalgorithmen , um ein Host-, Server- und Sitzungsschlüsselsystem zu generieren, das eine sichere Datenübertragung gewährleistet. Sie können SSH-Hostschlüssel so konfigurieren, dass Secure Copy (SCP) als Alternative zu FTP für die Hintergrundübertragung von Daten wie Konfigurationsarchiven und Ereignisprotokollen unterstützt wird. Um die SSH-Unterstützung für SCP zu konfigurieren, müssen Sie die folgenden Aufgaben ausführen:

  • Geben Sie bekannte SSH-Hosts an, indem Sie Hostnamen und Hostschlüsselinformationen in die Konfigurationshierarchie der Routing-Engine aufnehmen.

  • Legen Sie eine SCP-URL fest, um den Host anzugeben, von dem Daten empfangen werden sollen. Durch das Festlegen dieses Attributs werden automatisch SSH-Hostschlüsselinformationen vom SCP-Server abgerufen.

  • Stellen Sie sicher, dass der Hostschlüssel authentisch ist.

  • Akzeptieren Sie die sichere Verbindung. Wenn Sie diese Verbindung akzeptieren, werden die Hostschlüsselinformationen automatisch in der lokalen Hostschlüsseldatenbank gespeichert. Durch das Speichern von Hostschlüsselinformationen in der Konfigurationshierarchie wird der sichere Handshake automatisiert und die Datenübertragung im Hintergrund mithilfe von SCP ermöglicht.

Aufgaben zum Konfigurieren von SSH-Hostschlüsseln für das sichere Kopieren von Daten sind:

Konfigurieren bekannter SSH-Hosts

Um bekannte SSH-Hosts zu konfigurieren, schließen Sie die Anweisung ein, und geben Sie Hostnamen host - und Hostschlüsseloptionen für vertrauenswürdige Server auf der [edit security ssh-known-hosts] Hierarchieebene an:

Hostschlüssel sind einer der folgenden:

  • dsa-key key– Base64-codierter DSA-Schlüssel (Digital Signature Algorithm) für SSH Version 2.

  • ecdsa-sha2-nistp256-keykey– Base64-kodierter ECDSA-SHA2-NIST256-Schlüssel.

  • ecdsa-sha2-nistp384-keykey– Base64-kodierter ECDSA-SHA2-NIST384-Schlüssel.

  • ecdsa-sha2-nistp521-keykey– Base64-kodierter ECDSA-SHA2-NIST521-Schlüssel.

  • ed25519-keykey– Base64-kodierter ED25519 Schlüssel.

  • rsa-key key– Base64-codierter Public-Key-Algorithmus, der Verschlüsselung und digitale Signaturen für SSH Version 1 und SSH Version 2 unterstützt.

  • rsa1-key key– Base64-codierter RSA-Algorithmus für öffentliche Schlüssel, der Verschlüsselung und digitale Signaturen für SSH Version 1 unterstützt.

Konfigurieren der Unterstützung für SCP-Dateiübertragung

Um einen bekannten Host so zu konfigurieren, dass er SCP-Dateiübertragungen im Hintergrund unterstützt, schließen Sie die archive-sites Anweisung auf der [edit system archival configuration] Hierarchieebene ein.

Anmerkung:

Wenn Sie eine URL in einer Junos OS Evolved-Anweisung mit einer IPv6-Hostadresse angeben, müssen Sie die gesamte URL in Anführungszeichen (" ") und die IPv6-Hostadresse in eckige Klammern ([ ]) einschließen. Beispiel: "scp://username<:password>@[host]<:port>/url-path";

Wenn Sie festlegen, dass die archive-sites Anweisung auf eine SCP-URL verweist, wird der automatische Abruf des Hostschlüssels ausgelöst. An diesem Punkt stellt Junos OS Evolved eine Verbindung zum SCP-Host her, um den öffentlichen SSH-Schlüssel abzurufen, zeigt den Nachrichtenhash oder den Fingerabdruck des Hostschlüssels als Ausgabe an der Konsole an und beendet die Verbindung zum Server.

Um zu überprüfen, ob der Hostschlüssel authentisch ist, vergleichen Sie diesen Fingerabdruck mit einem Fingerabdruck, den Sie vom selben Host über eine vertrauenswürdige Quelle erhalten. Wenn die Fingerabdrücke identisch sind, akzeptieren Sie den Hostschlüssel, indem Sie ihn an der Eingabeaufforderung eingeben yes . Die Hostschlüsselinformationen werden dann in der Routing-Engine-Konfiguration gespeichert und unterstützen Hintergrunddatenübertragungen mithilfe von SCP.

Aktualisieren der SSH-Hostschlüsselinformationen

In der Regel werden SSH-Hostschlüsselinformationen automatisch abgerufen, wenn Sie mithilfe der Anweisung auf Hierarchieebene archival configuration archive-sites [edit system] ein URL-Attribut für SCP festlegen. Wenn Sie die Hostschlüsseldatenbank jedoch manuell aktualisieren müssen, verwenden Sie eine der folgenden Methoden.

Manuelles Abrufen von Hostschlüsselinformationen

Um Informationen zum öffentlichen SSH-Hostschlüssel manuell abzurufen, konfigurieren Sie die fetch-from-server Option auf Hierarchieebene [edit security ssh-known-hosts] . Sie müssen den Host angeben, von dem der öffentliche SSH-Schlüssel abgerufen werden soll.

Importieren von Hostschlüsselinformationen aus einer Datei

Um SSH-Hostschlüsselinformationen manuell aus einer known_hosts Datei zu importieren, schließen Sie die load-key-file Option auf Hierarchieebene [edit security ssh-known-hosts] ein. Sie müssen den Pfad zu der Datei angeben, aus der Hostschlüsselinformationen importiert werden sollen.

Konfigurieren des SSH-Diensts zur Unterstützung von Legacykryptografie

Sie können Junos OS Evolved so konfigurieren, dass ältere Kryptografie-Chiffren und wichtige Austauschmethoden unterstützt werden.

Junos OS Evolved unterstützt standardmäßig die folgenden Chiffren:

  • chacha20-poly1305@openssh.com

  • aes128-ctr

  • aes192-ctr

  • aes256-ctr

  • aes128-gcm@openssh.com

  • aes256-gcm@openssh.com

In Junos OS Evolved werden die folgenden Verschlüsselungen standardmäßig nicht unterstützt, Sie können jedoch Ihr Gerät so konfigurieren, dass sie unterstützt werden. Sie sind von den sichersten bis zu den am wenigsten sicheren aufgelistet:

  • aes256-cbc

  • aes192-cbc

  • aes128-cbc

Junos OS Evolved unterstützt standardmäßig die folgenden Methoden für den Schlüsselaustausch:

  • curve25519-sha256

  • ecdh-sha2-nistp256

  • ecdh-sha2-nistp384

  • ecdh-sha2-nistp521

  • group-exchange-sha2

  • dh-group14-sha1

In Junos OS Evolved werden die folgenden Methoden zum Austausch von Schlüsseln standardmäßig nicht unterstützt, aber Sie können Ihr Gerät entsprechend konfigurieren:

  • group-exchange-sha1

  • dh-group1-sha1

So konfigurieren Sie den SSH-Dienst für die Unterstützung von Legacykryptografie:

Anmerkung:

Durch die Konfiguration eines geordneten Satzes von Chiffren, Schlüsselaustauschmethoden oder Nachrichtenauthentifizierungscodes (MACs) wird der neu definierte Satz sowohl auf Server- als auch auf Clientbefehle angewendet. Änderungen an den Standardeinstellungen wirken sich auf den file copy Befehl aus, wenn Sie Secure Copy Protocol (SCP) verwenden.

  1. Fügen Sie mithilfe des set system services ssh ciphers [ cipher 1 cipher 2 ... ] Befehls Unterstützung für Verschlüsselungen hinzu. Es wird empfohlen, die Chiffren am Ende der Konfigurationsliste hinzuzufügen, damit sie zu den zuletzt verwendeten Optionen gehören. Im folgenden Beispiel werden die arcfour blowfish-cbc und-Chiffren zum Standardsatz hinzugefügt:
  2. Fügen Sie mithilfe des set system services ssh key-exchange [ method 1 method 2 ... ] Befehls Unterstützung für Schlüsselaustauschmethoden hinzu. Es wird empfohlen, die Schlüsselaustauschmethoden am Ende der Konfigurationsliste hinzuzufügen, damit sie zu den zuletzt verwendeten Optionen gehören. Im folgenden Beispiel wird die dh-group1-sha1 Schlüsselaustauschmethode dem Standardsatz hinzugefügt:
  3. Bestätigen Sie die Konfiguration:

Konfigurieren des ausgehenden SSH-Dienstes

Sie können ein Gerät, auf dem Junos OS Evolved ausgeführt wird, so konfigurieren, dass es eine TCP/IP-Verbindung mit einer Clientverwaltungsanwendung aufbaut. Wenn die Verwaltungsanwendung beispielsweise ein Gerät von Juniper Networks nicht erreicht, bei dem es sich um eine Firewall handelt. Kann in solchen Fällen outbound-ssh auf dem Gerät von Juniper Networks konfiguriert werden. Eine outbound-ssh Konfiguration initiiert eine umgekehrte SSH-Verbindung vom Server zum Client zur Verwaltungsanwendung. Diese ausgehende SSH-Verbindung wird erst geschlossen, nachdem die Konfiguration vom Gerät entfernt wurde.

Anmerkung:

Es gibt keinen Initiierungsbefehl mit ausgehendem SSH. Nachdem Sie ausgehende SSH konfiguriert und einen Commit ausgeführt haben, beginnt das Gerät, eine ausgehende SSH-Verbindung basierend auf der bestätigten Konfiguration zu initiieren. Das Gerät versucht wiederholt, diese Verbindung herzustellen, bis dies erfolgreich ist. Wenn die Verbindung zwischen dem Gerät und der Clientverwaltungsanwendung unterbrochen wird, versucht das Gerät erneut, eine neue ausgehende SSH-Verbindung herzustellen, bis dies erfolgreich ist. Diese Verbindung wird so lange aufrechterhalten, bis der ausgehende SSH-Bereich aus der Konfiguration entfernt wird.

Um das Gerät für ausgehende SSH-Verbindungen zu konfigurieren, fügen Sie die outbound-ssh Anweisung auf der [edit system services] Hierarchieebene ein:

[edit system services outbound-ssh]

In den folgenden Themen werden die Aufgaben zum Konfigurieren des ausgehenden SSH-Diensts beschrieben.

Senden des öffentlichen SSH-Hostschlüssels an den ausgehenden SSH-Client

Jedes Mal, wenn der Router oder Switch eine ausgehende SSH-Verbindung herstellt, sendet er zunächst eine Initiierungssequenz an den Management-Client. Diese Sequenz identifiziert den Router oder Switch für den Management-Client. Innerhalb dieser Übertragung ist der Wert von device-id.

Um die Gerätekennung des Routers oder Switches zu konfigurieren, fügen Sie die device-id Anweisung auf der [edit system services outbound-ssh client client-id] Hierarchieebene ein:

Die Initiierungssequenz ist secret nicht konfiguriert:

Während der Initialisierung einer SSH-Verbindung authentifiziert der Client die Identität des Geräts mithilfe des öffentlichen SSH-Hostschlüssels des Geräts. Bevor der Client die SSH-Sequenz initiieren kann, benötigt der Client daher den öffentlichen SSH-Schlüssel des Geräts. Wenn Sie die secret Anweisung konfigurieren, übergibt das Gerät seinen öffentlichen SSH-Schlüssel als Teil der Initiierungssequenz für ausgehende SSH-Verbindungen.

Wenn die secret Anweisung festgelegt ist und das Gerät eine ausgehende SSH-Verbindung herstellt, übermittelt das Gerät seine Geräte-ID, seinen öffentlichen SSH-Schlüssel und einen SHA1-Hash, der teilweise von der secret Anweisung abgeleitet ist. Der Wert der secret Anweisung wird vom Gerät und dem Verwaltungsclient gemeinsam genutzt. Der Client verwendet den gemeinsamen geheimen Schlüssel, um den empfangenen öffentlichen SSH-Hostschlüssel zu authentifizieren und festzustellen, ob der öffentliche Schlüssel von dem durch die device-id Anweisung identifizierten Gerät stammt.

Die Verwendung der secret Anweisung zum Transport des öffentlichen SSH-Hostschlüssels ist optional. Sie können den öffentlichen Schlüssel manuell transportieren und auf dem Client-System installieren.

Anmerkung:

Das Einschließen der secret Anweisung bedeutet, dass das Gerät jedes Mal, wenn es eine Verbindung mit dem Client herstellt, seinen öffentlichen SSH-Hostschlüssel sendet. Es liegt dann am Client zu entscheiden, was mit dem SSH-Hostschlüssel geschehen soll, wenn der Client bereits über einen SSH-Schlüssel für dieses Gerät verfügt. Es wird empfohlen, die Kopie des SSH-Hostschlüssels des Clients durch den neuen Schlüssel zu ersetzen. Hostschlüssel können sich aus verschiedenen Gründen ändern. Indem Sie den Schlüssel jedes Mal austauschen, wenn eine Verbindung hergestellt wird, stellen Sie sicher, dass der Client über den neuesten Schlüssel verfügt.

Um den öffentlichen SSH-Hostschlüssel des Routers oder Switches zu senden, wenn das Gerät eine Verbindung mit dem Client herstellt, fügen Sie die secret Anweisung auf der [edit system services outbound-ssh client client-id] Hierarchieebene ein:

Die folgende Meldung wird vom Gerät gesendet, wenn das secret Attribut konfiguriert ist:

Konfigurieren von Keepalive-Nachrichten für ausgehende SSH-Verbindungen

Nachdem die Clientanwendung über den öffentlichen SSH-Hostschlüssel des Routers oder Switches verfügt, kann sie die SSH-Sequenz so initiieren, als hätte sie die TCP/IP-Verbindung erstellt. Der Client kann das Gerät dann mit seiner Kopie des öffentlichen Host-SSH-Schlüssels des Routers oder Switches als Teil dieser Sequenz authentifizieren. Das Gerät authentifiziert den Client-Benutzer über die von Junos OS Evolved unterstützten Mechanismen (RSA/DSA-Authentifizierung mit öffentlichen Zeichenfolgen oder Kennwörtern).

Um dem Gerät das Senden von SSH-Protokoll-Keepalive-Nachrichten an die Clientanwendung zu ermöglichen, konfigurieren Sie die keep-alive Anweisung auf der [edit system services outbound-ssh client client-id] Hierarchieebene:

Konfigurieren einer neuen ausgehenden SSH-Verbindung

Wenn die Verbindung getrennt wird, beginnt das Gerät, eine neue ausgehende SSH-Verbindung zu initiieren. Um anzugeben, wie das Gerät nach dem Trennen einer Verbindung wieder eine Verbindung mit dem Server herstellt, fügen Sie die reconnect-strategy Anweisung auf der [edit system services outbound-ssh client client-id] Hierarchieebene ein:

Sie können auch die Anzahl der Wiederholungsversuche angeben und die Zeitspanne festlegen, bis die erneuten Verbindungsversuche beendet werden. Weitere Informationen finden Sie unter Konfigurieren von Keepalive-Nachrichten für ausgehende SSH-Verbindungen.

Konfigurieren des ausgehenden SSH-Clients so, dass NETCONF als verfügbarer Dienst akzeptiert wird

Um die Anwendung so zu konfigurieren, dass NETCONF als verfügbarer Dienst akzeptiert wird, fügen Sie die services netconf Anweisung auf der [edit system services outbound-ssh client client-id] Hierarchieebene ein:

Konfigurieren ausgehender SSH-Clients

Um die Clients zu konfigurieren, die für diese ausgehende SSH-Verbindung verfügbar sind, listen Sie jeden Client mit einer separaten Adressanweisung auf der [edit system services outbound-ssh client client-id] Hierarchieebene auf:

Anmerkung:

Ausgehende SSH-Verbindungen unterstützen die Adressformate IPv4 und IPv6.

Konfigurieren von Routinginstanzen für ausgehende SSH-Clients

Um die Routing-Verwaltungsinstanz zu verwenden, aktivieren Sie zunächst die mgmt_junos Routing-Instanz mit dem set system management-instance Befehl.

Um eine andere Routinginstanz zu verwenden, konfigurieren Sie zunächst die Routinginstanz in der [edit routing-instances] Hierarchie.

Wenn Sie keine Routing-Instanz angeben, stellt Ihr Gerät die ausgehende SSH-Verbindung mithilfe der Standard-Routing-Tabelle her.

Konfigurieren von NETCONF-over-SSH-Verbindungen an einem bestimmten TCP-Port

Mit Junos OS Evolved können Sie eingehende NETCONF-Verbindungen auf einen bestimmten TCP-Port beschränken, ohne eine Firewall konfigurieren zu müssen. Um den TCP-Port zu konfigurieren, der für NETCONF-over-SSH-Verbindungen verwendet wird, schließen Sie die port Anweisung auf der [edit system services netconf ssh] Hierarchieebene ein. Der konfigurierte Port akzeptiert nur NETCONF-over-SSH-Sitzungen. Reguläre SSH-Sitzungsanforderungen für diesen Port werden abgelehnt.

Sie können entweder den Standardport 830 für NETCONF-Verbindungen über SSH konfigurieren, wie in RFC 4742, Verwenden des NETCONF-Konfigurationsprotokolls über Secure Shell (SSH) angegeben, oder einen beliebigen Port von 1 bis 65535 konfigurieren.

Anmerkung:
  • Der Standard-SSH-Port (22) akzeptiert weiterhin NETCONF-Sitzungen, auch wenn ein NETCONF-Server-Port konfiguriert ist. Um zu verhindern, dass der SSH-Port NETCONF-Sitzungen akzeptiert, geben Sie dies im Anmeldeereignisskript an.

  • Es wird nicht empfohlen, die Standardports für FTP (21) und Telnet-Dienste (23) für die Konfiguration von NETCONF-over-SSH-Verbindungen zu konfigurieren.