O conjunto de documentação deste produto faz o possível para usar uma linguagem imparcial. Para os fins deste conjunto de documentação, a imparcialidade é definida como uma linguagem que não implica em discriminação baseada em idade, deficiência, gênero, identidade racial, identidade étnica, orientação sexual, status socioeconômico e interseccionalidade. Pode haver exceções na documentação devido à linguagem codificada nas interfaces de usuário do software do produto, linguagem usada com base na documentação de RFP ou linguagem usada por um produto de terceiros referenciado. Saiba mais sobre como a Cisco está usando a linguagem inclusiva.
A Cisco traduziu este documento com a ajuda de tecnologias de tradução automática e humana para oferecer conteúdo de suporte aos seus usuários no seu próprio idioma, independentemente da localização. Observe que mesmo a melhor tradução automática não será tão precisa quanto as realizadas por um tradutor profissional. A Cisco Systems, Inc. não se responsabiliza pela precisão destas traduções e recomenda que o documento original em inglês (link fornecido) seja sempre consultado.
Este documento descreve como usar um par de chaves públicas e privadas SSH para configurar o recurso de Cópia de Arquivo Sem Senhas SSH para contas de usuário do Cisco Nexus 9000 autenticadas com protocolos de Autenticação, Autorização e Contabilidade (AAA - Authentication, Authorization, and Accounting) (como RADIUS e TACACS+).
O shell Bash deve estar ativado no dispositivo Cisco Nexus. Consulte a seção "Access Bash" do capítulo Bash no Cisco Nexus 9000 Series NX-OS Programmability Guide para obter instruções sobre como ativar o shell Bash.
Você deve executar este procedimento a partir de uma conta de usuário que tenha a função "network-admin".
Você deve ter um par de chaves públicas e privadas SSH existente para importar.
Note: O procedimento para gerar um par de chaves públicas e privadas do SSH depende da plataforma e está fora do escopo deste documento.
As informações neste documento são baseadas nestas versões de software e hardware:
Este software foi usado para atuar como um servidor SCP/SFTP:
As informações apresentadas neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. All of the devices used in this document started with a cleared (default) configuration. Se a sua rede estiver ativa, certifique-se de que você entende o impacto potencial de qualquer comando.
O capítulo "Configurando SSH e Telnet" do Guia de Configuração de Segurança do Cisco Nexus 9000 Series NX-OS descreve como configurar o recurso de Cópia de Arquivo Sem Senhas SSH para contas de usuário criadas através da configuração do NX-OS em dispositivos Cisco Nexus. Esse recurso permite que uma conta de usuário local use protocolos baseados em SSH, como o protocolo de cópia segura (SCP) e o FTP seguro (SFTP) para copiar arquivos de um servidor remoto para o dispositivo Nexus. No entanto, esse procedimento não funciona como esperado para contas de usuário autenticadas através de um protocolo AAA, como RADIUS ou TACACS+. Quando executado em contas de usuário autenticadas por AAA, o par de chaves públicas e privadas do SSH não persistirá se o dispositivo for recarregado por qualquer motivo. Este documento demonstra um procedimento que permite que um par de chaves públicas e privadas SSH seja importado em uma conta de usuário autenticada por AAA para que o par de chaves persista durante o recarregamento.
Este procedimento usa "foo" para representar o nome de uma conta de usuário autenticada por AAA. Ao seguir as instruções neste procedimento, substitua "foo" pelo nome real da conta de usuário autenticada AAA que você deseja configurar para uso com o recurso de Cópia de arquivo sem senha SSH.
N9K(config)# feature bash-shell
Note: Esta ação não causa interrupções.
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
Note: Em Bash, a conta de usuário "foo" é criada somente se a conta de usuário "foo" tiver feito logon remotamente no dispositivo Nexus desde a última reinicialização do dispositivo. Se a conta de usuário "foo" não tiver feito login no dispositivo recentemente, ela pode não estar presente na saída dos comandos usados nesta etapa. Se a conta de usuário "foo" não estiver presente na saída dos comandos, vá para a Etapa 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 <<<
Note: Esta ação permite que a conta de usuário "foo" grave arquivos no flash de inicialização, o que é necessário para usar protocolos baseados em SSH (como SCP e SFTP) para executar uma cópia de arquivos.
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
Caution: Se você não adicionou a conta de usuário "foo" ao grupo "network-admin", como instruído na Etapa 4, a configuração atual do NX-OS ainda mostrará que a conta de usuário "foo" herda a função "network-admin". No entanto, a conta de usuário "foo" não é, na verdade, um membro do grupo "network-admin" sob a perspectiva do Linux e não poderá gravar arquivos no flash de inicialização do dispositivo Nexus. Para evitar esse problema, certifique-se de ter adicionado a conta de usuário "foo" ao grupo "network-admin", conforme instruído na Etapa 4, e confirme se a conta de usuário "foo" foi adicionada ao grupo "network-admin" no shell Bash.
Note: Embora a configuração acima esteja presente no NX-OS, essa conta de usuário não é uma conta de usuário local. Não é possível iniciar sessão nesta conta de utilizador como uma conta de utilizador local, mesmo que o dispositivo esteja desligado de qualquer servidor AAA (RADIUS/TACACS+).
Note: Esta etapa supõe que o par de chaves públicas e privadas do SSH já existe. O procedimento para gerar um par de chaves públicas e privadas do SSH depende da plataforma e está fora do escopo deste documento.
Note: Neste exemplo, a chave pública SSH tem um nome de arquivo "foo.pub" e a chave privada SSH tem um nome de arquivo "foo". O local remoto é um servidor SFTP em 192.0.2.10 acessível através do Virtual Routing and Forwarding (VRF) de gerenciamento.
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
Siga este procedimento para verificar o recurso Cópia de arquivo sem senha SSH para contas de usuário autenticadas por AAA.
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
**************************************
Note: Este exemplo usa um servidor SFTP acessível em 192.0.2.10 no VRF de gerenciamento com a chave pública da conta de usuário "foo" adicionada como uma chave autorizada. Este servidor SFTP tem um arquivo "text.txt" presente no caminho absoluto /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
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.
Se desejar, salve a configuração do dispositivo Nexus e recarregue o dispositivo. Depois que o dispositivo Nexus voltar a ficar on-line, verifique se o par de chaves SSH continua associado à conta de usuário "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
**************************************
Atualmente, não existem informações disponíveis específicas sobre Troubleshooting para esta configuração.