In dem Dokumentationssatz für dieses Produkt wird die Verwendung inklusiver Sprache angestrebt. Für die Zwecke dieses Dokumentationssatzes wird Sprache als „inklusiv“ verstanden, wenn sie keine Diskriminierung aufgrund von Alter, körperlicher und/oder geistiger Behinderung, Geschlechtszugehörigkeit und -identität, ethnischer Identität, sexueller Orientierung, sozioökonomischem Status und Intersektionalität impliziert. Dennoch können in der Dokumentation stilistische Abweichungen von diesem Bemühen auftreten, wenn Text verwendet wird, der in Benutzeroberflächen der Produktsoftware fest codiert ist, auf RFP-Dokumentation basiert oder von einem genannten Drittanbieterprodukt verwendet wird. Hier erfahren Sie mehr darüber, wie Cisco inklusive Sprache verwendet.
Cisco hat dieses Dokument maschinell übersetzen und von einem menschlichen Übersetzer editieren und korrigieren lassen, um unseren Benutzern auf der ganzen Welt Support-Inhalte in ihrer eigenen Sprache zu bieten. Bitte beachten Sie, dass selbst die beste maschinelle Übersetzung nicht so genau ist wie eine von einem professionellen Übersetzer angefertigte. Cisco Systems, Inc. übernimmt keine Haftung für die Richtigkeit dieser Übersetzungen und empfiehlt, immer das englische Originaldokument (siehe bereitgestellter Link) heranzuziehen.
Dieses Dokument beschreibt die Verwendung eines öffentlichen und privaten SSH-Schlüsselpaars zum Konfigurieren der SSH-Funktion für das Kopieren von Dateien ohne Kennworteingabe für Cisco Nexus 9000-Benutzerkonten, die mit AAA-Protokollen (Authentication, Authorization, and Accounting - Authentifizierung durch RADIUS und TACACS+) authentifiziert werden.
Die Bash-Shell muss auf dem Cisco Nexus-Gerät aktiviert werden. Anweisungen zum Aktivieren der Bash-Shell finden Sie im Abschnitt "Accessing Bash" (Zugriff auf Bash) im Kapitel "Bash" im Cisco Nexus NX-OS-Programmierhandbuch der Serie 9000.
Sie müssen dieses Verfahren von einem Benutzerkonto ausführen, das die Rolle "network-admin" besitzt.
Sie müssen über ein vorhandenes öffentliches und privates SSH-Schlüsselpaar verfügen, um zu importieren.
Hinweis: Die Vorgehensweise zum Generieren eines öffentlichen und privaten SSH-Schlüsselpaars ist plattformabhängig und nicht Bestandteil dieses Dokuments.
Die Informationen in diesem Dokument basieren auf den folgenden Software- und Hardwareversionen:
Diese Software dient als SCP-/SFTP-Server:
Die Informationen in diesem Dokument wurden von Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen von Befehlen verstehen.
Im Kapitel "Konfigurieren von SSH und Telnet" des Cisco Nexus NX-OS Security Configuration Guide der Serie 9000 wird beschrieben, wie die Funktion "SSH Passwordless File Copy" für Benutzerkonten konfiguriert wird, die mithilfe der NX-OS-Konfiguration auf Cisco Nexus-Geräten erstellt wurden. Mit dieser Funktion kann ein lokales Benutzerkonto SSH-basierte Protokolle wie Secure Copy Protocol (SCP) und Secure FTP (SFTP) verwenden, um Dateien von einem Remote-Server auf das Nexus-Gerät zu kopieren. Dieses Verfahren funktioniert jedoch nicht wie erwartet für Benutzerkonten, die über ein AAA-Protokoll wie RADIUS oder TACACS+ authentifiziert werden. Bei Ausführung auf AAA-authentifizierten Benutzerkonten besteht das öffentliche und private SSH-Schlüsselpaar nicht, wenn das Gerät aus irgendeinem Grund neu geladen wird. Dieses Dokument veranschaulicht ein Verfahren, mit dem ein öffentliches und privates SSH-Schlüsselpaar in ein AAA-authentifiziertes Benutzerkonto importiert werden kann, sodass das Schlüsselpaar beim erneuten Laden erhalten bleibt.
Bei diesem Verfahren wird "foo" verwendet, um den Namen eines AAA-authentifizierten Benutzerkontos darzustellen. Wenn Sie die Anweisungen in diesem Verfahren befolgen, ersetzen Sie "foo" durch den tatsächlichen Namen des AAA-authentifizierten Benutzerkontos, das Sie für die Verwendung mit der SSH Passwort less File Copy-Funktion konfigurieren möchten.
N9K(config)# feature bash-shell
Hinweis: Diese Aktion führt zu keiner Störung.
N9K# run bash sudo su – root@N9K# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:*:1:1:bin:/bin: daemon:*:2:2:daemon:/usr/sbin: sys:*:3:3:sys:/dev: ftp:*:15:14:ftp:/var/ftp:/isanboot/bin/nobash ftpuser:*:99:14:ftpuser:/var/ftp:/isanboot/bin/nobash sshd:x:15:6:sshd:/var/sshd:/isanboot/bin/nobash __eemuser:*:101:100:eemuser:/var/home/__eemuser:/isanboot/bin/nobash nobody:*:65534:65534:nobody:/home:/bin/false svc-nxapi:*:498:501::/var/home/svc-nxapi:/isan/bin/vsh_perm svc-isan:*:499:501::/var/home/svc-isan:/isan/bin/vsh_perm svc-nxsdk:*:500:501::/var/home/svc-nxsdk:/isan/bin/vsh_perm dockremap:x:999:498::/var/home/dockremap:/bin/false admin:x:2002:503::/var/home/admin:/isan/bin/vsh_perm foo:x:2004:504::/var/home/foo:/isan/bin/vsh_perm <<< root@N9K# userdel foo root@N9K# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:*:1:1:bin:/bin: daemon:*:2:2:daemon:/usr/sbin: sys:*:3:3:sys:/dev: ftp:*:15:14:ftp:/var/ftp:/isanboot/bin/nobash ftpuser:*:99:14:ftpuser:/var/ftp:/isanboot/bin/nobash sshd:x:15:6:sshd:/var/sshd:/isanboot/bin/nobash __eemuser:*:101:100:eemuser:/var/home/__eemuser:/isanboot/bin/nobash nobody:*:65534:65534:nobody:/home:/bin/false svc-nxapi:*:498:501::/var/home/svc-nxapi:/isan/bin/vsh_perm svc-isan:*:499:501::/var/home/svc-isan:/isan/bin/vsh_perm svc-nxsdk:*:500:501::/var/home/svc-nxsdk:/isan/bin/vsh_perm dockremap:x:999:498::/var/home/dockremap:/bin/false admin:x:2002:503::/var/home/admin:/isan/bin/vsh_perm
Hinweis: In Bash wird das "foo"-Benutzerkonto nur erstellt, wenn sich das "foo"-Benutzerkonto seit dem letzten Neustart des Geräts per Fernzugriff beim Nexus-Gerät angemeldet hat. Wenn sich das "foo"-Benutzerkonto vor kurzem nicht beim Gerät angemeldet hat, ist es möglicherweise nicht in der Ausgabe der in diesem Schritt verwendeten Befehle vorhanden. Wenn das Benutzerkonto "foo" in der Ausgabe der Befehle nicht vorhanden ist, fahren Sie mit Schritt 3 fort.
root@N9K# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:*:1:1:bin:/bin: daemon:*:2:2:daemon:/usr/sbin: sys:*:3:3:sys:/dev: ftp:*:15:14:ftp:/var/ftp:/isanboot/bin/nobash ftpuser:*:99:14:ftpuser:/var/ftp:/isanboot/bin/nobash sshd:x:15:6:sshd:/var/sshd:/isanboot/bin/nobash __eemuser:*:101:100:eemuser:/var/home/__eemuser:/isanboot/bin/nobash nobody:*:65534:65534:nobody:/home:/bin/false svc-nxapi:*:498:501::/var/home/svc-nxapi:/isan/bin/vsh_perm svc-isan:*:499:501::/var/home/svc-isan:/isan/bin/vsh_perm svc-nxsdk:*:500:501::/var/home/svc-nxsdk:/isan/bin/vsh_perm dockremap:x:999:498::/var/home/dockremap:/bin/false admin:x:2002:503::/var/home/admin:/isan/bin/vsh_perm root@N9K# useradd foo root@N9K# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:*:1:1:bin:/bin: daemon:*:2:2:daemon:/usr/sbin: sys:*:3:3:sys:/dev: ftp:*:15:14:ftp:/var/ftp:/isanboot/bin/nobash ftpuser:*:99:14:ftpuser:/var/ftp:/isanboot/bin/nobash sshd:x:15:6:sshd:/var/sshd:/isanboot/bin/nobash __eemuser:*:101:100:eemuser:/var/home/__eemuser:/isanboot/bin/nobash nobody:*:65534:65534:nobody:/home:/bin/false svc-nxapi:*:498:501::/var/home/svc-nxapi:/isan/bin/vsh_perm svc-isan:*:499:501::/var/home/svc-isan:/isan/bin/vsh_perm svc-nxsdk:*:500:501::/var/home/svc-nxsdk:/isan/bin/vsh_perm dockremap:x:999:498::/var/home/dockremap:/bin/false admin:x:2002:503::/var/home/admin:/isan/bin/vsh_perm foo:x:2004:504::/var/home/foo:/isan/bin/vsh_perm <<<
Hinweis: Auf diese Weise kann das "foo"-Benutzerkonto Dateien in den Bootflash schreiben, was für die Verwendung von SSH-basierten Protokollen (wie SCP und SFTP) zum Durchführen einer Dateikopie erforderlich ist.
root@N9K# usermod -a -G network-admin foo
root@N9K# exit N9K# show run | i foo username foo password 5 ! role network-admin username foo keypair generate rsa username foo passphrase lifetime 99999 warntime 7
Vorsicht: Wenn Sie das "foo"-Benutzerkonto nicht wie in Schritt 4 beschrieben zur Gruppe "network-admin" hinzugefügt haben, wird in der NX-OS-Konfiguration weiterhin angezeigt, dass das "foo"-Benutzerkonto die Rolle "network-admin" übernimmt. Das "foo"-Benutzerkonto ist jedoch aus Linux-Sicht nicht tatsächlich Mitglied der "network-admin"-Gruppe und kann keine Dateien in den Bootflash des Nexus-Geräts schreiben. Um dieses Problem zu vermeiden, stellen Sie sicher, dass Sie das "foo"-Benutzerkonto zur Gruppe "network-admin" hinzugefügt haben, wie in Schritt 4 beschrieben, und vergewissern Sie sich, dass das "foo"-Benutzerkonto zur Gruppe "network-admin" in der Bash-Shell hinzugefügt wird.
Hinweis: Obwohl die obige Konfiguration in NX-OS vorhanden ist, handelt es sich bei diesem Benutzerkonto nicht um ein lokales Benutzerkonto. Sie können sich bei diesem Benutzerkonto nicht als lokales Benutzerkonto anmelden, selbst wenn das Gerät von AAA-Servern (RADIUS/TACACS+) getrennt ist.
Hinweis: Bei diesem Schritt wird davon ausgegangen, dass das öffentliche und das private SSH-Schlüsselpaar bereits vorhanden sind. Die Vorgehensweise zum Generieren eines öffentlichen und privaten SSH-Schlüsselpaars ist plattformabhängig und nicht Bestandteil dieses Dokuments.
Hinweis: In diesem Beispiel hat der öffentliche SSH-Schlüssel den Dateinamen "foo.pub" und der private SSH-Schlüssel den Dateinamen "foo". Der Remote-Standort ist ein SFTP-Server mit der Adresse 192.0.2.10, der über das Management Virtual Routing and Forwarding (VRF) erreichbar ist.
N9K# copy sftp://foo@192.0.2.10/home/foo/foo* bootflash: vrf management
The authenticity of host '192.0.2.10 (192.0.2.10)' can't be established.
ECDSA key fingerprint is SHA256:TwkQiylhtFDFPPwqh3U2Oq9ugrDuTQ50bB3boV5DkXM.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.0.2.10' (ECDSA) to the list of known hosts.
foo@192.0.2.10's password:
sftp> progress
Progress meter enabled
sftp> get /home/foo/foo* /bootflash
/home/foo/foo
100% 1766 1.7KB/s 00:00
/home/foo/foo.pub
100% 415 0.4KB/s 00:00
sftp> exit
Copy complete, now saving to disk (please wait)...
Copy complete.
N9K# dir bootflash: | i foo
1766 Sep 23 23:30:02 2019 foo
415 Sep 23 23:30:02 2019 foo.pub
N9K# configure N9K(config)# username foo keypair import bootflash:foo rsa force N9K(config)# exit
Befolgen Sie dieses Verfahren, um die Funktion "SSH Passwordless File Copy" (SSH-Kennwortloses Kopieren von Dateien für AAA-authentifizierte Benutzerkonten) zu überprüfen.
N9K# show username foo keypair
**************************************
rsa Keys generated:Thu Sep 5 01:50:43 2019
ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABAQDn+7nOJN8aF0i2NHSnmChHi+lujltuxf6MHtSfiKQWYCz7N13of0U4quIDGODLZEXzic+N655me3MsnxzvyUwXz2XNQtjqdbmPVfWnmoXiSmWQ82qfDADtnWBEX8krVhypS5ny4+lG6m0S+yMtNuAvppBgLpT4weSUUFWnU7DcxOzlebe9ku/0Y4JARhOZlR0bAVC0qknsd/4+2ngmcXjKqMBtNPuVESAaddFS5enED0RJRveqY/mte/h6NUQfuzGk2COk4hh4LCslRtEsxB1+QhCasN7u7o+MJR3nV9pfKwj3qwjWt2iL5gRukj/c6UdMZ4d0+QLEofttBMp/y2NV
bitcount:2048
fingerprint:
MD5:9b:d8:7e:dd:32:9c:ae:32:07:b6:9b:64:34:ef:9a:af**************************************
could not retrieve dsa key information
**************************************
could not retrieve ecdsa key information
**************************************
Hinweis: In diesem Beispiel wird ein SFTP-Server verwendet, auf den im Verwaltungs-VRF unter 192.0.2.10 zugegriffen werden kann, wobei der öffentliche Schlüssel des Benutzerkontos "foo" als autorisierter Schlüssel hinzugefügt wird. Dieser SFTP-Server hat eine Datei "text.txt", die sich im absoluten Pfad /home/foo/test.txt befindet.
[admin@server ~]$ cat .ssh/authorized_keys
ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABAQDn+7nOJN8aF0i2NHSnmChHi+lujltuxf6MHtSfiKQWYCz7N13of0U4quIDGODLZEXzic+N655me3MsnxzvyUwXz2XNQtjqdbmPVfWnmoXiSmWQ82qfDADtnWBEX8krVhypS5ny4+lG6m0S+yMtNuAvppBgLpT4weSUUFWnU7DcxOzlebe9ku/0Y4JARhOZlR0bAVC0qknsd/4+2ngmcXjKqMBtNPuVESAaddFS5enED0RJRveqY/mte/h6NUQfuzGk2COk4hh4LCslRtEsxB1+QhCasN7u7o+MJR3nV9pfKwj3qwjWt2iL5gRukj/c6UdMZ4d0+QLEofttBMp/y2NV
[admin@server ~]$ hostname -I
192.0.2.10
[admin@server ~]$ pwd
/home/foo
[admin@server ~]$ ls | grep test.txt
test.txt
N9K# show users
NAME LINE TIME IDLE PID COMMENT
foo pts/0 Sep 19 23:18 . 4863 (192.0.2.100) session=ssh *
N9K# copy sftp://foo@192.0.2.10/home/foo/test.txt bootflash: vrf management
Outbound-ReKey for 192.0.2.10:22
Inbound-ReKey for 192.0.2.10:22
sftp> progress
Progress meter enabled
sftp> get /home/foo/test.txt /bootflash/test.txt
/home/foo/test.txt
100% 15 6.8KB/s 00:00
sftp> exit
Copy complete, now saving to disk (please wait)...
Copy complete.
Speichern Sie auf Wunsch die Konfiguration des Nexus-Geräts, und laden Sie das Gerät neu. Wenn das Nexus-Gerät wieder online ist, stellen Sie sicher, dass das SSH-Schlüsselpaar weiterhin dem "foo"-Benutzerkonto zugeordnet ist.
N9K# show username foo keypair
**************************************
rsa Keys generated:Thu Sep 5 01:50:43 2019
ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABAQDn+7nOJN8aF0i2NHSnmChHi+lujltuxf6MHtSfiKQWYCz7N13of0U4quIDGODLZEXzic+N655me3MsnxzvyUwXz2XNQtjqdbmPVfWnmoXiSmWQ82qfDADtnWBEX8krVhypS5ny4+lG6m0S+yMtNuAvppBgLpT4weSUUFWnU7DcxOzlebe9ku/0Y4JARhOZlR0bAVC0qknsd/4+2ngmcXjKqMBtNPuVESAaddFS5enED0RJRveqY/mte/h6NUQfuzGk2COk4hh4LCslRtEsxB1+QhCasN7u7o+MJR3nV9pfKwj3qwjWt2iL5gRukj/c6UdMZ4d0+QLEofttBMp/y2NV
bitcount:2048
fingerprint:
MD5:9b:d8:7e:dd:32:9c:ae:32:07:b6:9b:64:34:ef:9a:af**************************************
could not retrieve dsa key information
**************************************
could not retrieve ecdsa key information
**************************************
N9K# reload
This command will reboot the system. (y/n)? [n] y
N9K# show username foo keypair
**************************************
rsa Keys generated:Thu Sep 5 01:50:43 2019
ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABAQDn+7nOJN8aF0i2NHSnmChHi+lujltuxf6MHtSfiKQWYCz7N13of0U4quIDGODLZEXzic+N655me3MsnxzvyUwXz2XNQtjqdbmPVfWnmoXiSmWQ82qfDADtnWBEX8krVhypS5ny4+lG6m0S+yMtNuAvppBgLpT4weSUUFWnU7DcxOzlebe9ku/0Y4JARhOZlR0bAVC0qknsd/4+2ngmcXjKqMBtNPuVESAaddFS5enED0RJRveqY/mte/h6NUQfuzGk2COk4hh4LCslRtEsxB1+QhCasN7u7o+MJR3nV9pfKwj3qwjWt2iL5gRukj/c6UdMZ4d0+QLEofttBMp/y2NV
bitcount:2048
fingerprint:
MD5:9b:d8:7e:dd:32:9c:ae:32:07:b6:9b:64:34:ef:9a:af**************************************
could not retrieve dsa key information
**************************************
could not retrieve ecdsa key information
**************************************
Für diese Konfiguration sind derzeit keine spezifischen Informationen zur Fehlerbehebung verfügbar.