Por padrão, os engenheiros se conectam ao equipamento de rede usando um nome de usuário e senha. Usando o Telnet, as credenciais do usuário são transmitidas em texto não criptografado e por SSH, criptografadas. Para não transmitir a parte secreta pela rede, é usada a autenticação de chave pública. Com essa autenticação, a chave pública do usuário é pré-atribuída ao usuário no equipamento. A chave privada não é transmitida pela rede.Este guia o ajudará a começar a usar rapidamente chaves públicas para autenticação ao conectar-se a equipamentos de rede usando o protocolo SSH. O guia é aplicável para Windows e Mac OS X. Tentei torná-lo o mais simples e informativo possível. Não está sobrecarregado, mas responde às perguntas básicas:Também examinei os tópicos "doloridos":- Conversão de chave entre OpenSSH <==> SecureCRT <==> PuTTY.
- Usando diferentes pares de chaves públicas para diferentes equipamentos. Uma chave é boa, mas não aplicável na realidade. Diferentes clientes ou equipamentos requerem diferentes pares de chaves públicas (algumas com senha e outras sem).
- Usando o MAC OS X nativo (nativo) para trabalhar com chaves públicas.
- O guia também deve ajudar a usar o Ansible com equipamentos de rede, pois o Ansible usa o OpenSSH com autenticação de chave pública por padrão.
90% do material apresentado é testado em equipamentos reais.Introdução
Além da autenticação de senha padrão (senha / teclado) no protocolo SSH, também há autenticação de chave pública (RSA).A autenticação usando chaves RSA consiste em várias etapas:Por que apenas RSA? Por que não um DSA? Infelizmente, não encontrei a resposta para esta pergunta (e realmente não a procurei). Mas oficialmente, apenas o RSA é suportado em equipamentos da Cisco.Guia de configuração do Secure Shell, Cisco IOS Release 15E:Guia de configuração do Secure Shell, Cisco IOS Release 15E
Restrições para o Secure Shell Versão 2 Suporte A
geração de chaves Rivest, Shamir e Adleman (RSA) é um requisito do servidor SSH. Os dispositivos que atuam como clientes SSH não precisam gerar chaves RSA.
Tentativa de inserir dados chave do DSA:CSR-1(conf-ssh-pubkey-data)#exit
%SSH: Only ssh-rsa type is supported
CSR-1(conf-ssh-pubkey-user)#
Criando uma chave pública RSA
Um par de chaves RSA pode ser criado usando vários utilitários: SecureCRT, PuTTYgen ou qualquer outro software. Ao criar uma chave, você pode definir a senha (proteção por senha com uma chave).Geração de pares RSA no SecureCRT
SecureCRT -> Ferramentas -> Criar Chave Pública ...:Um pouco de teoria → o botão "Next>":Tipo de certificado RSA / DSA → Selecione RSA → botão "Próximo>":Senha de criptografia da chave secreta (opcional, você pode deixá-la em branco e não criptografar) + Comentar → botão "Avançar>":Escolha o comprimento da chave (no SecureCRT versão 6.1.0, o comprimento máximo da chave é 2048 bits, na versão 8.5.4 - 16 384 bits):Geração de teclas → Botão "Próximo>": Para gerar números aleatórios, você precisa mover o mouse dentro da janela.Salvando um par de chaves → Selecionando um local de armazenamento → Selecionando um formato para uma chave salva (formato VanDuke Private, OpenSSH legado, OpenSSH novo) → botão "Concluir":O SecureCRT pergunta se essa chave é a chave padrão do SecureCRT:Geração de pares RSA no PuTTYgen
Você pode fazer o download do PuTTYgen aqui: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html .Inicie o PuTTYgen:Selecione os parâmetros (tipo de par: RSA; dimensão do bit de chave: 2048; opcionalmente defina Senha (proteção de senha com uma senha)) → Gerar:Para garantir números aleatórios, ele pede para mover o mouse dentro da janela. Esta é uma proteção contra números pseudo-aleatórios.Salvar chaves RSA → botão "Salvar chave privada":Observação: as chaves RSA armazenadas em formato privado em um software não podem ser usadas em software de outro fabricante. Ou seja, um par de chaves RSA criadas no PuTTYgen e salvas no formato Putty Private Key não é adequado para uso no SecureCRT e vice-versa. O PuTTY suporta apenas o formato Putty Private Key. Uma solução universal para distribuição de chaves é converter chaves para o formato OpenSSH (consulte o link 2: “Conversão de Putty para SecureCRT com chaves de autenticação”). Desde SecureCRT trabalha livremente com o formato OpenSSH. E o software PuTTYgen converte o formato OpenSSH no formato Putty Private Key.Convertendo uma chave RSA do formato Putty Private Key (PuTTY) para o formato OpenSSH (SecureCRT)
Para usar chaves RSA no SecureCRT que são geradas no PuTTYgen e salvas no formato Putty Private Key (* .ppk), exportamos-as usando PuTTYgen no formato OpenSSH:- Inicie o PuTTYgen.
- Carregamos a chave RSA existente no formato Putty Private Key (* .ppk) → O botão "Carregar".
- Salve o arquivo de chave pública → “Salvar chave pública”.
- Exportamos a chave secreta para o formato OpenSSH: menu PuTTYgen → “Conversões” → “Exportar chave OpenSSH”.
- Usamos arquivos OpenSSH no SecureCRT. O arquivo com a chave pública possui a extensão .pub, o arquivo com a chave privada não possui extensão.
Convertendo uma chave RSA do formato VanDyke Private Key (SecureCRT) para Putty Private Key (PuTTY)
Para usar chaves RSA no PuTTY que são geradas no SecureCRT e salvas no formato de chave privada VanDyke (arquivo de chave pública * .pub, arquivo de chave secreta *. (Sem extensão)), exporte-as usando o SecureCRT no formato OpenSSH e, em seguida, usando PuTTYgen, exportamos para o formato Putty Private Key (* .ppk):- Inicie o SecureCRT.
- Menu “Ferramentas” → “Converter chave privada para o formato OpenSSH ...”
- Selecione o arquivo de origem com as chaves da VanDyke Private Key.
- Salvamos as chaves do OpenSSH com um novo nome.
- Inicie o PuTTYgen.
- Carregamos a chave RSA existente no formato OpenSSH (*.): Menu PuTTYgen → “Conversões” → “Import key”.
- Salve o arquivo no formato Putty: “Salvar chave privada”.
Gerando chaves públicas no MAC OS X usando o sistema operacional
Usaremos o utilitário ssh-keygen embutido (man ssh-keygen).Geramos uma chave RSA com um comprimento de 2048 bits com o nome da chave, o caminho para a pasta com o local de armazenamento da chave:ssh-keygen -b 2048 -t rsa -c "Lab router R4" -f /Users/ArtemiySP/Documents/python/r4
No tempo de execução, o programa solicitará uma senha para proteger a chave RSA:artemiy-2:Downloads ArtemiySP$ ssh-keygen -b 2048 -t rsa -C "Lab router R4" -f /Users/ArtemiySP/Documents/python/r4
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/ArtemiySP/Documents/python/r4.
Your public key has been saved in /Users/ArtemiySP/Documents/python/r4.pub.
The key fingerprint is:
SHA256:WdT47SFvgGI7danxX94p8/cO3uyU12SB3ipkc7nHxzA Lab router R4
The key's randomart image is:
+---[RSA 2048]----+
| .o |
| .. . . |
| .o + . |
| oo+ B = .|
| .S+ O OEoo|
| o + + B*+|
| . . =.*O|
| .+o**|
| =+O|
+----[SHA256]-----+
artemiy-2:Downloads ArtemiySP$
Geramos uma chave RSA com um comprimento de 4096 bits para indicar o nome da chave, o caminho para a pasta com o local de armazenamento da chave, definimos a senha explicitamente nos parâmetros de geração de chave (-N "cisco"):artemiy-2:Downloads ArtemiySP$ ssh-keygen -b 4096 -t rsa -C "Lab router R5" -N "cisco" -f /Users/ArtemiySP/Documents/python/r5
Generating public/private rsa key pair.
Your identification has been saved in /Users/ArtemiySP/Documents/python/r5.
Your public key has been saved in /Users/ArtemiySP/Documents/python/r5.pub.
The key fingerprint is:
SHA256:NraLRMqB4qmA8qNjKdpBBt1JBw8Osf/3GfuB2k1R+zY Lab router R5
The key's randomart image is:
+---[RSA 4096]----+
| o.+.. |
| . * = |
|. o + . . |
| . o . . |
|. + o . S . . |
|o+.. = o o . . . |
|+oo o o o o o Eo|
|*=.. . o = * . ..|
|Boo. . o =.o |
+----[SHA256]-----+
artemiy-2:Downloads ArtemiySP$
Parâmetros de geração de chave que não são recomendados: uma chave não confiável com um comprimento de 1024 bits, indicando o nome da chave, o caminho para a pasta com o local de armazenamento da chave, definimos a senha explicitamente nos parâmetros de geração de chave (-N "" - sem senha):artemiy-2:Downloads ArtemiySP$ ssh-keygen -b 1024 -t rsa -C "Lab router R6" -N "" -f /Users/ArtemiySP/Documents/python/r6
Generating public/private rsa key pair.
Your identification has been saved in /Users/ArtemiySP/Documents/python/r6.
Your public key has been saved in /Users/ArtemiySP/Documents/python/r6.pub.
The key fingerprint is:
SHA256:LEcfgN+58TYMDv4MpBA2FGCWc2aFiY+SxWBf7pRViWs Lab router R6
The key's randomart image is:
+---[RSA 1024]----+
|.++=o*.o+.. |
|.oB % +. o |
| o X * .o... |
|o . = E+.=. |
| . oo+So.* |
| .oo o = |
| + . . |
| o |
| |
+----[SHA256]-----+
artemiy-2:Downloads ArtemiySP$
Portanto, criamos três chaves com os nomes das chaves e a localização das chaves (por padrão, todas as chaves são armazenadas em / Users / [Username 028 / .ssh).Por padrão, ao conectar via SSH com autenticação por chave pública, todas as chaves públicas são armazenadas em sequência, armazenadas na pasta /Users/[Username†/.ssh.Chave R6: renomeie a chave para “id_rsa” (por padrão, o nome do arquivo de chave gerado é “id_rsa”) e transfira-o para a pasta com as chaves SSH (~ / .ssh /) (ou seja, executaremos todas as etapas para que a chave R6 seja usada como principal) chave de conexão SSH padrão):Converta a chave pública OpenSSH para o formato RFC4716 (exporte para o Cisco IOS):https://serverfault.com/questions/706336/how-to-get-a-pem-file-from-ssh-key-pair
ssh-keygen -f ~/Documents/python/r4.pub -e -m RFC4716
ssh-keygen -f ~/Documents/python/r5.pub -e -m RFC4716
ssh-keygen -f ~/.ssh/id_rsa.pub -e -m RFC4716
Usando uma chave pública no equipamento
Como em vários equipamentos para vincular uma chave pública a um usuário?O processo de vincular uma chave pública a um usuário não é padrão e varia de equipamento para equipamento; portanto, são dados exemplos para cada tipo de equipamento mais frequentemente usado na rede.Cisco IOS XE, Catalyst (da versão 15.1 e superior), IOS
- Já existe um usuário no dispositivo.
- Nas configurações de SSH (ip ssh pubkey-chain) do usuário (nome de usuário cisco), especifique a chave pública (string de chave):
CSR-1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
CSR-1(config)#ip ssh pubkey-chain
CSR-1(conf-ssh-pubkey)#username ssh-putty
CSR-1(conf-ssh-pubkey-user)#key-string
CSR-1(conf-ssh-pubkey-data)#$QAAAQEAnPbynT1+2rjlyqP4viSPdTVDFLSHzWjJnAwy
CSR-1(conf-ssh-pubkey-data)#$NCfaqvMTPruCgG5096q8lO0ntURmNgmfMEQPOgb8weF
CSR-1(conf-ssh-pubkey-data)#$AtMQYk7WFM+5iBnOQ32UAHNavCUA7YFEpAdOQO4W/qB
CSR-1(conf-ssh-pubkey-data)#$SlOLy+PQ47jDUINBnuUeHd8ZXyzXxWglzSvqtwMEXBW
CSR-1(conf-ssh-pubkey-data)#$VoUTBYbJ45DmFa93P50qf494ujaAsTbYyJ/GBzJUTK/
CSR-1(conf-ssh-pubkey-data)#$UADAkNGxQARfOfHZWiIYb3rif6h6hfwwVUZS/Tw==
CSR-1(conf-ssh-pubkey-data)#exit
CSR-1(conf-ssh-pubkey-user)#exit
CSR-1(conf-ssh-pubkey)#exit
CSR-1(config)#exit
CSR-1#exit
CSR-1#show running-config | inc ssh
username ssh-public-key secret 5 $1$ebjc$EYgwMFQXPPiywFVn6rl7t.
username ssh-putty privilege 15 secret 5 $1$vIhh$nM8iCeBKmLyVK4hA6./h4.
ip ssh pubkey-chain
key-hash ssh-rsa D4E9AD62F7F6265EAAB3FB8778477612
username ssh-public-key
key-hash ssh-rsa C331DEE821A84681A4A7B1862C100D16
username ssh-putty
key-hash ssh-rsa F32BEB60290EA75D151447C0D42D2A99
key-hash ssh-rsa 5432C275B363B646E02D3BA7E8D865B7
CSR-1#
Cisco ASA
LAB-ASA5516-X-01/pri/act# conf t
LAB-ASA5516-X-01/pri/act(config)# username artemiy password artemiy privilege $
LAB-ASA5516-X-01/pri/act(config)# username artemiy attributes
LAB-ASA5516-X-01/pri/act(config-username)# ssh authentication publickey ?
username mode commands/options:
WORD Raw SSH-RSA public key
LAB-ASA5516-X-01/pri/act(config-username)# ssh authentication publickey AAAAB3$
Nós inserimos a chave inteira em uma linha (formato OpenSSH).Roteadores e switches Huawei
[R1]rsa peer-public-key test-key1 encoding-type pem
Enter "RSA public key" view, return system view with "peer-public-key end".
NOTE: The number of the bits of public key must be between 769 and 2048.
[R1-rsa-public-key]public-key-code begin
Enter "RSA key code" view, return last view with "public-key-code end".
[R1-rsa-key-code]---- BEGIN SSH2 PUBLIC KEY ----
[R1-rsa-key-code]Subject: Subject
[R1-rsa-key-code]Comment: " Subject@Subject.local"
[R1-rsa-key-code]ModBitSize: 2048
[R1-rsa-key-code]AAAAB3NzaC1yc2EAAAADAQABAAABAQC4YLFhPqfsz4a6PUpZOtvm6zGn5TWOVMnx
[R1-rsa-key-code]lTH5hr/u+aYnoM2XnDTu4Ul1iB8MMPLVKXzV4LgYhaFcU1rz2/yYhTKIwbiQTHof
[R1-rsa-key-code]63fJjyWwkvyBuVZTSKh4b2pfoF2mXgdJzzRmUaiRrZZUVJWsX+CbgtKQuktG7sTK
[R1-rsa-key-code]2eguHwdfhilbOAsUaL0/q39Y0aTAMnLMtn0m5r6MD/UopQPI3Fxm1L9azJ7zYIZa
[R1-rsa-key-code]yI43Solg0AOupPl8FHFI9Cxq81/uZRACx5lAyuObaQ4/t1Rdh3CAJj1qwfZjZFTP
[R1-rsa-key-code]VdJxwTDxwfkpOzMD193M0ThOSrgfWe336Q9F3jbSWrEYUQDX8ew7
[R1-rsa-key-code]---- END SSH2 PUBLIC KEY ----
[R1-rsa-key-code]public-key-code end
[R1-rsa-public-key]peer-public-key end
[R1]display rsa peer-public-key
=====================================
Key name: test-key1
=====================================
Key Code:
---- BEGIN SSH2 PUBLIC KEY ----
AAAAB3NzaC1yc2EAAAADAQABAAABAQC4YLFhPqfsz4a6PUpZOtvm6zGn5TWOVMnx
lTH5hr/u+aYnoM2XnDTu4Ul1iB8MMPLVKXzV4LgYhaFcU1rz2/yYhTKIwbiQTHof
63fJjyWwkvyBuVZTSKh4b2pfoF2mXgdJzzRmUaiRrZZUVJWsX+CbgtKQuktG7sTK
2eguHwdfhilbOAsUaL0/q39Y0aTAMnLMtn0m5r6MD/UopQPI3Fxm1L9azJ7zYIZa
yI43Solg0AOupPl8FHFI9Cxq81/uZRACx5lAyuObaQ4/t1Rdh3CAJj1qwfZjZFTP
VdJxwTDxwfkpOzMD193M0ThOSrgfWe336Q9F3jbSWrEYUQDX8ew7
---- END SSH2 PUBLIC KEY ----
aaa
local-user jet privilege level 15
local-user jet service-type telnet terminal ssh http
ssh user jet assign rsa-key test-key1
Tipos de formatos de chave importados para a Huawei:“O SecureCRT e PuTTY geram chaves RSA no formato PEM.”rsa peer-public-key test-key1 encoding-type pem
"O OpenSSH gera chaves RSA no formato OpenSSH."rsa peer-public-key test-key1 encoding-type openssh
"O OpenSSL gera chaves RSA no formato DER."rsa peer-public-key test-key1 encoding-type der
O padrão é hexadecimal:rsa peer-public-key test-key1
Nota: O equipamento Huawei não apenas suporta chaves no formato RSA, mas também outros formatos:ssh user user-name assign { rsa-key | dsa-key | ecc-key } key-name
Você pode definir rigidamente o tipo de autenticação para o usuário via SSH:[R1]ssh user jet authentication-type ?
all All authentication, password,RSA or ECC
ecc ECC authentication
password Password authentication
password-ecc Both password and ECC
password-rsa Both password and RSA
rsa RSA authentication
[R1]
Ou seja, permitimos o acesso usando uma senha, chaves públicas e privadas ou ambas.Huawei USG (6000)
A configuração é completamente semelhante às configurações do roteador, mas possui alguns recursos.Por padrão, o nível de privilégio após o log usando certificados é 0 e não pode ser elevado. Portanto, o nível de prioridade é definido usandouser-interface vty 0 4
user privilege level 15
user-interface vty 16 20:
user privilege level 15
Exemplo:[USG-a]rsa peer-public-key test-key1 encoding-type pem
Enter "RSA public key" view, return system view with "peer-public-key end".
[USG-a-rsa-public-key]public-key-code begin
Enter "RSA key code" view, return last view with "public-key-code end".
[USG-a-rsa-key-code]---- BEGIN SSH2 PUBLIC KEY ----
[USG-a-rsa-key-code]Subject: subject
[USG-a-rsa-key-code]Comment: " subject@subject.local"
[USG-a-rsa-key-code]ModBitSize: 2048
[USG-a-rsa-key-code]AAAAB3NzaC1yc2EAAAADAQABAAABAQC4YLFhPqfsz4a6PUpZOtvm6zGn5TWOVMnx
[USG-a-rsa-key-code]lTH5hr/u+aYnoM2XnDTu4Ul1iB8MMPLVKXzV4LgYhaFcU1rz2/yYhTKIwbiQTHof
[USG-a-rsa-key-code]63fJjyWwkvyBuVZTSKh4b2pfoF2mXgdJzzRmUaiRrZZUVJWsX+CbgtKQuktG7sTK
[USG-a-rsa-key-code]2eguHwdfhilbOAsUaL0/q39Y0aTAMnLMtn0m5r6MD/UopQPI3Fxm1L9azJ7zYIZa
[USG-a-rsa-key-code]yI43Solg0AOupPl8FHFI9Cxq81/uZRACx5lAyuObaQ4/t1Rdh3CAJj1qwfZjZFTP
[USG-a-rsa-key-code]VdJxwTDxwfkpOzMD193M0ThOSrgfWe336Q9F3jbSWrEYUQDX8ew7
[USG-a-rsa-key-code]---- END SSH2 PUBLIC KEY ----
[USG-a-rsa-key-code]public-key-code end
[USG-a-rsa-public-key]peer-public-key end
[USG-a]
[USG-a]ssh user admin assign rsa-key test-key1
! Out-of-band management interface:
[USG-a-GigabitEthernet0/0/0]service-manage ssh permit
! Grant user level 15 privillege:
[USG-a]user-interface vty 0 4
[USG-a-ui-vty0-4]user privilege level 15
Cisco Nexus 9.3
Opção 1: pré-instale o arquivo de chave pública no dispositivo e anexe o arquivo de chave pública ao usuário.- Copie o arquivo de chave pública para o dispositivo.
- Instruímos o usuário a usar o arquivo de chave pública.
switch# copy tftp://10.10.1.1/secsh_file.pub bootflash:secsh_file.pub
username User1 sshkey file bootflash:secsh_file.pub
Opção 2: copie a chave pública para o usuário:username User1 sshkey
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4YLFhPqfsz4a6PUpZOtvm6zGn5TWOVMnxlTH5hr/u+aYnoM2XnDTu4Ul1iB8MMPLVKXzV4LgYhaFcU1rz2/yYhTKIwbiQTHof63fJjyWwkvyBuVZTSKh4b2pfoF2mXgdJzzRmUaiRrZZUVJWsX+CbgtKQuktG7sTK2eguHwdfhilbOAsUaL0/q39Y0aTAMnLMtn0m5r6MD/UopQPI3Fxm1L9azJ7zYIZayI43Solg0AOupPl8FHFI9Cxq81/uZRACx5lAyuObaQ4/t1Rdh3CAJj1qwfZjZFTPVdJxwTDxwfkpOzMD193M0ThOSrgfWe336Q9F3jbSWrEYUQDX8ew7
Usando uma chave secreta para conexão SSH
Esta seção é dedicada à configuração de clientes SSH para autenticação usando chaves RSA em equipamentos de rede (ou outro equipamento, desde que o hardware e o software ofereçam suporte à autenticação de chave pública).Consideraremos configurar o uso da chave pública nos programas mais populares: SecureCRT e PuTTY.SecureCRT
Há uma lista de autenticação na janela de configurações do SSH. Nele, você precisa aumentar a prioridade do PublicKey para o mais alto - torná-lo o primeiro na lista.Em seguida, vá para as opções PublicKey e selecione o arquivo de chave privada. A opção superior permite que você use as configurações globais da chave secreta ou das configurações da sessão - outra chave secreta (chave não padrão) - apenas para esta conexão.Configure a chave pública global: no menu Opções → Opções globais → Categoria SSH2.PuTTY
Nas configurações de SSH (Conexão → SSH → Autenticação) no campo "Arquivo de chave privada para autenticação", especifique o arquivo Putty Private Key (* .ppk):MAC OS X
Configurando um cliente padrão para usar chaves públicas:- Conexão com uma chave não padrão especificada manualmente:
artemiy-2:~ ArtemiySP$ ssh r4@10.31.73.29 -i ~/Documents/python/r4
The authenticity of host '10.31.73.29 (10.31.73.29)' can't be established.
RSA key fingerprint is SHA256:fxOLFKU6YGyIqisrIh2P0O52Rr6Wx/wsSAcHsTz8fo0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.31.73.29' (RSA) to the list of known hosts.
CSR-4#
- Conexão com uma chave não padrão especificada manualmente:
artemiy-2:~ ArtemiySP$ ssh r5@10.31.73.30 -i ~/Documents/python/r5
The authenticity of host '10.31.73.30 (10.31.73.30)' can't be established.
RSA key fingerprint is SHA256:4l67C4Il4pTaqYT4vrtWr0aY7rPmNWKsjRv2zlYtQIU.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.31.73.30' (RSA) to the list of known hosts.
MGTU#exit
Connection to 10.31.73.30 closed.
Exemplo de erro— . MAC OS X — .
- Conexão com a chave padrão (chave padrão - o próprio sistema encontrará e usará a chave pública padrão):
artemiy-2:~ ArtemiySP$ ssh r6@10.31.73.31
The authenticity of host '10.31.73.31 (10.31.73.31)' can't be established.
RSA key fingerprint is SHA256:2/ysACJQw48Q8S45ody4wna+6nJspcsEU558HiUN43Q.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.31.73.31' (RSA) to the list of known hosts.
PR#exit
Connection to 10.31.73.31 closed.
artemiy-2:~ ArtemiySP$
Como simplificar o trabalho com SSH no MAC OS X:
- Crie aliases SSH.
- Nos aliases de SSH, definimos os usuários imediatamente.
- Registre imediatamente a localização das chaves.
O local dos Aliases e a configuração SSH pré-configurada são especificados no arquivo ~ / .ssh / config (/Users/[Username†/.ssh/config).Preenchido desta maneira:host r4
Hostname 10.31.73.29
Port 22
User r4
IdentityFile ~/Documents/python/r4
host r5
Hostname 10.31.73.30
Port 22
User r5
IdentityFile ~/Documents/python/r5
host r6
Hostname 10.31.73.31
Port 22
User r6
Nota: minha conexão padrão está configurada incorretamente (não sei como), porque a conexão com o host R6 (10.31.73.31) leva muito tempo. É recomendável especificar imediatamente o caminho para a chave padrão.Um exemplo de uma conexão ssh usando chaves públicas e um arquivo de configuração:artemiy-2:Documents ArtemiySP$ ssh r5
MGTU#exit
Connection to 10.31.73.30 closed by remote host.
Connection to 10.31.73.30 closed.
artemiy-2:Documents ArtemiySP$ ssh r4
CSR-4#exit
Connection to 10.31.73.29 closed by remote host.
Connection to 10.31.73.29 closed.
artemiy-2:Documents ArtemiySP$ ssh r6
PR#exit
Connection to 10.31.73.31 closed.
artemiy-2:Documents ArtemiySP$ ssh r6
PR#
Conclusão
As chaves RSA podem ser usadas para substituir a autenticação de senha, mas não em todos os casos:- A autenticação de chave pública não é possível se a autenticação de domínio estiver configurada (porque as solicitações LDAP (kerberos) para o servidor estão em proxy para autenticação).
- A autenticação de chave pública em equipamentos de rede antigos não é possível (exemplo: falha ao configurar no Cisco Catalyst 2960 com firmware 12.2).
Chaves públicas protegidas por senha são convenientemente usadas em equipamentos de bancada. Desvantagem: é necessário enviar um monte de chaves públicas e privadas para colegas e parceiros.Em alguns equipamentos, vários pares de chaves públicas podem corresponder a um usuário; em outros equipamentos, apenas uma chave pública corresponde a um usuário.Também existem diferentes formatos nos quais um par de chaves públicas e privadas é armazenado. Mas este guia o ajudará a exportar chaves em diferentes formatos.Hoje, é ideal usar chaves com um comprimento de 2048 bits, mas para alguns equipamentos esse é o tamanho máximo possível (talvez isso seja corrigido no novo firmware). Por exemplo:[R1]rsa peer-public-key test-key2 encoding-type pem
Enter "RSA public key" view, return system view with "peer-public-key end".
NOTE: The number of the bits of public key must be between 769 and 2048.
[R1-rsa-public-key]
É recomendável usar chaves públicas para substituir senhas se as senhas forem inseridas usando scripts (exemplo: logon automático no SecureCRT).É recomendável usar chaves públicas para proteger contra a transmissão de senha pela rede.Alguns softwares usam chaves públicas por padrão para autenticação SSH em vez de uma senha (exemplo: Ansible).Lista de fontes:
- Wikipedia RSA
- Conversão Putty para SecureCRT com autenticação. chaves, Fórum SecureCRT
- Guia de configuração do Secure Shell, Cisco IOS Release 15E
- Baixar PuTTYgen
- Documentação oficial da Huawei - uma descrição dos vários formatos principais de importação para um roteador Huawei
- Huawei USG 6000, Configurando a autenticação de chave pública (CLI: exemplo para efetuar login na CLI usando STelnet (autenticação RSA))
- Nexus 9000 Configuration guide SSH public key
- man ssh-keygen — mac os x.
- SSH config file MAC OS X
- SSH
- SSH config
- openssh public key RFC4716