المحتويات

المقدمة

المتطلبات الأساسية

المتطلبات

المكونات المستخدمة

معلومات أساسية

التكوين

تكوين ميزة نسخ ملف SSH غير المرور لحسابات المستخدمين التي تم مصادقة AAA عليها

التحقق من الصحة

استكشاف الأخطاء وإصلاحها

معلومات ذات صلة

المقدمة

يصف هذا المستند كيفية إستخدام زوج مفاتيح SSH عام و خاص لتكوين ميزة نسخ ملف SSH غير العديم المرور لحسابات مستخدمي Cisco Nexus 9000 التي تتم مصادقتها باستخدام بروتوكولات المصادقة والتفويض والمحاسبة (AAA) (مثل RADIUS و TACACS+).

المتطلبات الأساسية

المتطلبات

- يجب تمكين طبقة BaseS على جهاز Cisco Nexus. ارجع إلى قسم "access bash" من الفصل BaseH في دليل قابلية البرمجة من السلسلة Cisco Nexus 9000 Series NX-OS للحصول على التعليمات لتمكين BaseShell.

- يجب تنفيذ هذا الإجراء من حساب مستخدم يحتفظ بدور "network-admin".

- يجب أن يكون لديك زوج مفاتيح SSH عام وخاص لاستيراده.

ملاحظة: يعتمد إجراء إنشاء زوج مفاتيح SSH العام والخاص على النظام الأساسي وهو خارج نطاق هذا المستند.

المكونات المستخدمة

تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:

- الإصدار 7.0(3)I7(6) أو إصدار أحدث من Nexus 9000 Platform NX-OS

- نظام التشغيل Nexus 3000 Platform NX-OS، الإصدار 7.0(3)I7(6) أو إصدار أحدث

تم إستخدام هذا البرنامج للعمل كخادم SCP/SFTP:

- CentOS 7 Linux x86_64

تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك مباشرة، فتأكد من فهمك للتأثير المحتمل لأي أوامر.

معلومات أساسية

يصف الفصل "تكوين SSH و Telnet" من دليل تكوين أمان NX-OS من السلسلة Cisco Nexus 9000 Series كيفية تكوين ميزة نسخ ملف SSH غير العديم المرور لحسابات المستخدمين التي يتم إنشاؤها من خلال تكوين NX-OS على أجهزة Cisco Nexus. تمكن هذه الميزة حساب المستخدم المحلي من إستخدام البروتوكولات المستندة إلى بروتوكول SSH مثل بروتوكول النسخ الآمن (SCP) وبروتوكول FTP الآمن (SFTP) لنسخ الملفات من خادم بعيد إلى جهاز Nexus. ومع ذلك، لا يعمل هذا الإجراء كما هو متوقع لحسابات المستخدم التي يتم مصادقتها عبر بروتوكول AAA، مثل RADIUS أو TACACS+. عند إجراء زوج مفاتيح SSH العام والخاص على حسابات المستخدم التي تمت مصادقة AAA، لن يستمر إذا تم إعادة تحميل الجهاز لأي سبب. يوضح هذا المستند إجراء يسمح باستيراد زوج مفاتيح SSH العام والخاص إلى حساب مستخدم تمت مصادقة AAA حتى يستمر زوج المفاتيح على إعادة التحميل.

التكوين

تكوين ميزة نسخ ملف SSH غير المرور لحسابات المستخدمين التي تم مصادقة AAA عليها

يستخدم هذا الإجراء "foo" لتمثيل اسم حساب مستخدم مصدق بواسطة AAA. عندما تتبع التعليمات الواردة في هذا الإجراء، استبدل "foo" بالاسم الفعلي لحساب المستخدم الذي تتم مصادقة AAA عليه والذي تريد تكوينه للاستخدام مع ميزة نسخ ملف SSH غير المجدول.

1. قم بتمكين Bash shell إذا لم يتم تمكينها بالفعل.
N9K(config)# feature bash-shell

ملاحظة: لا يحدث هذا الإجراء أية أعطال.

2. أدخل طبقة BaseH وتحقق مما إذا كان حساب المستخدم "Foo" موجودا بالفعل. إذا كان موجودا، احذف حساب المستخدم "Foo".
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

ملاحظة: لا يتم إنشاء حساب المستخدم "Foo" داخل BaseH إلا في حالة تسجيل دخول حساب المستخدم "Foo" عن بعد إلى جهاز Nexus منذ آخر إعادة تشغيل للجهاز. إذا لم يقم حساب المستخدم "Foo" بتسجيل الدخول إلى الجهاز مؤخرا، فقد لا يكون موجودا في إخراج الأوامر المستخدمة في هذه الخطوة. إذا لم يكن حساب المستخدم "foo" موجودا في إخراج الأوامر، فقم بالمتابعة إلى الخطوة 3.

3. قم بإنشاء حساب المستخدم "FOO" ضمن Bash shell.
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    <<<

4. إضافة حساب المستخدم "for" إلى مجموعة "network-admin".
ملاحظة: يسمح هذا الإجراء لحساب المستخدم "foo" بكتابة الملفات إلى ذاكرة التمهيد المؤقتة (bootflash)، والتي تكون مطلوبة لاستخدام البروتوكولات المستندة إلى SSH (مثل SCP و SFTP) لإجراء نسخ ملف.

root@N9K# usermod -a -G network-admin foo

5. قم بالخروج من طبقة BaseH وتأكد من وجود تكوين حساب المستخدم "for" في التكوين الجاري تشغيله ل NX-OS.
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

تحذير: إذا لم تقم بإضافة حساب المستخدم "Foo" إلى مجموعة "network-admin" كما هو موجه في الخطوة 4، فسيظل التكوين الجاري تشغيله لنظام التشغيل NX يظهر أن حساب المستخدم "Foo" يرث دور "network-admin". ومع ذلك، فإن حساب المستخدم "foo" ليس في الواقع عضوا في مجموعة "network-admin" من منظور Linux، ولن يكون قادرا على كتابة الملفات إلى ذاكرة التمهيد الخاصة بجهاز Nexus. لتجنب هذه المشكلة، تأكد من إضافة حساب مستخدم "foo" إلى مجموعة "network-admin" كما هو موجه في الخطوة 4 وتأكد من إضافة حساب مستخدم "foo" إلى مجموعة "network-admin" ضمن BaseShell.

ملاحظة: على الرغم من أن التكوين المذكور أعلاه موجود في NX-OS، فإن حساب المستخدم هذا ليس حساب مستخدم محلي. لا يمكنك تسجيل الدخول إلى حساب المستخدم هذا كحساب مستخدم محلي، حتى في حالة قطع اتصال الجهاز من أي خوادم AAA (RADIUS/TACACS+).

6. انسخ زوج مفاتيح SSH العام والخاص من موقع بعيد إلى ذاكرة التمهيد الخاصة بجهاز Nexus.
ملاحظة: تفترض هذه الخطوة أن زوج مفاتيح SSH العام والخاص موجود بالفعل. يعتمد إجراء إنشاء زوج مفاتيح SSH العام والخاص على النظام الأساسي وهو خارج نطاق هذا المستند.

ملاحظة: في هذا المثال، يحتوي مفتاح SSH العام على اسم ملف "foo.pub" ومفتاح SSH الخاص على اسم ملف "foo". يعد الموقع البعيد خادم SFTP قابل للوصول إلى 192.0.2.10 من خلال التوجيه الظاهري للإدارة وإعادة التوجيه (VRF).

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

7. قم باستيراد زوج المفاتيح العام والخاص ل SSH المطلوب لهذا الحساب.
N9K# configure

N9K(config)# username foo keypair import bootflash:foo rsa force

N9K(config)# exit

التحقق من الصحة

اتبع هذا الإجراء للتحقق من ميزة نسخ ملف SSH غير المرور لحسابات المستخدمين التي تتم مصادقة AAA عليها.

1. تحقق من إستيراد زوج مفاتيح SSH إلى حساب المستخدم "foo" بنجاح.

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

**************************************

2. تأكد من إمكانية إستخدام زوج مفاتيح SSH لحساب المستخدم "foo" لنسخ الملفات من خادم بعيد.
ملاحظة: يستخدم هذا المثال خادم SFTP يمكن الوصول إليه على 192.0.2.10 في إطار VRF للإدارة مع إضافة المفتاح العام لحساب المستخدم "foo" كمفتاح مفوض. يحتوي خادم SFTP هذا على ملف "text.txt" موجود في المسار المطلق /home/foo/test.txt.

[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

3. تأكد من تسجيل دخولك إلى حساب المستخدم "foo"، ثم حاول نسخ الملف "test.txt" من خادم SFTP المذكور أعلاه. لاحظ أن Nexus لا يطالب بكلمة مرور لتسجيل الدخول إلى خادم SFTP ونقل الملف إلى ذاكرة التمهيد الخاصة ب Nexus.

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.

4. (إختياري) تحقق من إستمرارية زوج المفاتيح.
قم بحفظ تكوين جهاز Nexus وإعادة تحميل الجهاز، إذا كان ذلك مطلوبا. بعد عودة جهاز Nexus إلى الإنترنت، تحقق من إستمرار اقتران زوج مفاتيح SSH بحساب المستخدم "foo".

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

**************************************

استكشاف الأخطاء وإصلاحها

لا تتوفر حاليًا معلومات محددة لاستكشاف الأخطاء وإصلاحها لهذا التكوين.

معلومات ذات صلة

- "تكوين SSH و telnet" فصل من دليل تكوين أمان Cisco Nexus 9000 Series NX-OS:

- الإصدار 9.3(x)

- الإصدار 9.2(x)

- الإصدار 7.x

- دليل قابلية البرمجة Cisco Nexus 9000 Series NX-OS:

- الإصدار 9.x

- الإصدار 7.x

- الإصدار 6.x

- دليل قابلية البرمجة Cisco Nexus 3600 Series NX-OS:

- الإصدار 9.x

- الإصدار 7.x

- دليل قابلية البرمجة Cisco Nexus 3500 Series NX-OS:

- الإصدار 9.x

- الإصدار 7.x

- الإصدار 6.x

- دليل قابلية البرمجة Cisco Nexus 3000 Series NX-OS:

- الإصدار 9.x

- الإصدار 7.x

- الإصدار 6.x

- القابلية للبرمجة والتشغيل التلقائي باستخدام نظام التشغيل Cisco Open NX-OS

- الدعم التقني والمستندات - Cisco Systems