본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 SSH 공개 및 개인 키 쌍을 사용하여 AAA(Authentication, Authorization, and Accounting) 프로토콜(예: RADIUS 및 TACACS+)로 인증된 Cisco Nexus 9000 사용자 계정에 대한 SSH PasswordLess File Copy 기능을 구성하는 방법에 대해 설명합니다.
Cisco Nexus 디바이스에서 Bash 셸을 활성화해야 합니다.Bash 셸을 활성화하는 지침은 Cisco Nexus 9000 Series NX-OS 프로그래밍 기능 가이드의 Bash 장에서 "Accesing Bash" 섹션을 참조하십시오.
"network-admin" 역할이 있는 사용자 계정에서 이 절차를 수행해야 합니다.
가져오려면 기존 SSH 공개 및 개인 키 쌍이 있어야 합니다.
참고:SSH 공개 및 개인 키 쌍을 생성하는 절차는 플랫폼에 따라 달라지며 이 문서의 범위를 벗어납니다.
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
이 소프트웨어는 SCP/SFTP 서버 역할을 하는 데 사용되었습니다.
이 문서의 정보는 특정 랩 환경의 디바이스에서 생성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 이해해야 합니다.
Cisco Nexus 9000 Series NX-OS 보안 컨피그레이션 가이드의 "SSH 및 텔넷 구성" 장에서는 Cisco Nexus 디바이스에서 NX-OS 컨피그레이션을 통해 생성된 사용자 계정에 대해 SSH PasswordLess File Copy 기능을 구성하는 방법에 대해 설명합니다.이 기능을 사용하면 로컬 사용자 계정이 SCP(Secure Copy Protocol) 및 SFTP(Secure FTP)와 같은 SSH 기반 프로토콜을 사용하여 원격 서버에서 Nexus 디바이스로 파일을 복사할 수 있습니다.그러나 이 절차는 RADIUS 또는 TACACS+와 같은 AAA 프로토콜을 통해 인증되는 사용자 어카운트에 대해 예상대로 작동하지 않습니다.AAA 인증 사용자 계정에서 수행할 경우 어떤 이유로든 디바이스가 다시 로드되면 SSH 공개 및 개인 키 쌍이 지속되지 않습니다.이 문서에서는 키 쌍이 다시 로드될 때 유지되도록 AAA 인증 사용자 계정으로 SSH 공개 및 개인 키 쌍을 가져올 수 있는 절차를 보여 줍니다.
이 절차에서는 "foo"를 사용하여 AAA 인증 사용자 계정의 이름을 나타냅니다.이 절차의 지침에 따라 "foo"를 SSH PasswordLess File Copy 기능과 함께 사용하도록 구성할 AAA 인증 사용자 계정의 실제 이름으로 대체합니다.
N9K(config)# feature bash-shell
참고:이 작업은 중단 없이 수행됩니다.
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
참고:Bash 내에서 "foo" 사용자 계정은 디바이스를 마지막으로 재부팅한 후 Nexus 디바이스에 원격으로 로그인한 경우에만 생성됩니다."foo" 사용자 계정이 최근에 디바이스에 로그인하지 않은 경우 이 단계에서 사용된 명령의 출력에 표시되지 않을 수 있습니다.명령 출력에 "foo" 사용자 계정이 없는 경우 3단계로 진행합니다.
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 <<<
참고:이 작업을 수행하면 "foo" 사용자 계정에서 bootflash에 파일을 쓸 수 있습니다. 이는 SCP 및 SFTP와 같은 SSH 기반 프로토콜을 사용하여 파일 복사를 수행하는 데 필요합니다.
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
주의:4단계의 지침에 따라 "network-admin" 그룹에 "foo" 사용자 계정을 추가하지 않은 경우 NX-OS 실행 컨피그레이션은 "foo" 사용자 계정이 "network-admin" 역할을 상속함을 보여줍니다.그러나 "foo" 사용자 계정은 실제로 Linux 관점에서 "network-admin" 그룹의 구성원이 아니며 Nexus 디바이스의 부트플래시에 파일을 쓸 수 없습니다.이 문제를 방지하려면 4단계의 지침에 따라 "network-admin" 그룹에 "foo" 사용자 계정을 추가하고 "foo" 사용자 계정이 Bash 셸 내의 "network-admin" 그룹에 추가되었는지 확인합니다.
참고:위의 컨피그레이션이 NX-OS에 있더라도 이 사용자 어카운트는 로컬 사용자 어카운트가 아닙니다.디바이스가 AAA(RADIUS/TACACS+) 서버와 연결이 끊어진 경우에도 이 사용자 계정에 로컬 사용자 계정으로 로그인할 수 없습니다.
참고:이 단계에서는 SSH 공개 및 개인 키 쌍이 이미 있다고 가정합니다.SSH 공개 및 개인 키 쌍을 생성하는 절차는 플랫폼에 따라 달라지며 이 문서의 범위를 벗어납니다.
참고:이 예에서는 SSH 공개 키의 파일 이름은 "foo.pub"이고 SSH 개인 키의 파일 이름은 "foo"입니다. 원격 위치는 관리 VRF(Virtual Routing and Forwarding)를 통해 192.0.2.10에 연결할 수 있는 SFTP 서버입니다.
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
AAA 인증 사용자 계정에 대한 SSH PasswordLess File Copy 기능을 확인하려면 다음 절차를 수행합니다.
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
**************************************
참고:이 예에서는 관리 VRF에서 192.0.2.10에서 액세스할 수 있는 SFTP 서버를 사용하며, "foo" 사용자 계정의 공개 키가 권한 있는 키로 추가되었습니다.이 SFTP 서버에는 절대 경로 /home/foo/test.txt에 "text.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
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.
필요한 경우 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
**************************************
현재 이 컨피그레이션에 사용할 수 있는 특정 문제 해결 정보가 없습니다.