Mudanças entre as edições de "Autenticação SSH por Chave Pública no Huawei"
| (7 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
| Linha 1: | Linha 1: | ||
== Introdução == | == Introdução == | ||
| − | A autenticação baseada apenas em usuário e senha ainda é amplamente utilizada, porém está mais suscetível a ataques como força bruta, vazamento e reutilização de credenciais. Para aumentar a segurança do acesso aos equipamentos da infraestrutura, recomenda-se utilizar a autenticação por chaves SSH, que oferece um mecanismo mais robusto e confiável para identificação dos administradores. | + | A autenticação baseada apenas em usuário e senha ainda é amplamente utilizada, porém está mais '''suscetível a ataques''' como força bruta, vazamento e reutilização de credenciais. Para aumentar a segurança do acesso aos equipamentos da infraestrutura, recomenda-se utilizar a autenticação por chaves SSH, que oferece um mecanismo mais robusto e confiável para identificação dos administradores. |
| − | ''Orientações importantes para a sua '''chave SSH RSA''''': | + | <u>''Orientações importantes para a sua '''chave SSH RSA''''':</u> |
# Utilize chaves RSA com tamanho adequado; | # Utilize chaves RSA com tamanho adequado; | ||
| − | # Proteja a chave privada com uma senha; | + | # '''Proteja''' a chave privada com uma '''senha'''; |
| − | # Nunca compartilhe a chave privada; | + | # '''Nunca compartilhe''' a chave privada; |
| − | # Revogue imediatamente chaves comprometidas; | + | # '''Revogue''' imediatamente chaves '''comprometidas'''; |
# Restrinja algoritmos e métodos de autenticação. | # Restrinja algoritmos e métodos de autenticação. | ||
== Configurando == | == Configurando == | ||
0 - Crie sua '''chave SSH''' pública e privada. | 0 - Crie sua '''chave SSH''' pública e privada. | ||
| − | Se não | + | |
| + | Se você ainda não possui um par de '''chaves SSH''', gere um utilizando o comando abaixo em um '''servidor Linux''' ou pelo método de sua preferência. Caso já possua uma '''chave SSH''' compatível, basta reutilizá-la para este procedimento. | ||
cd ~/.ssh | cd ~/.ssh | ||
| − | ssh-keygen -t rsa -b 4096 -f <nome-da-chave> -C "<comentario>" | + | ssh-keygen -t rsa -b 4096 -f '''<nome-da-chave>''' -C "'''<comentario>'''" |
| − | Visualize sua chave pública | + | Visualize sua chave pública. |
| − | cat <nome-da-chave>.pub | + | cat '''<nome-da-chave>'''.pub |
1 - Configure os métodos e chaves (aumento de compatibilidade). | 1 - Configure os métodos e chaves (aumento de compatibilidade). | ||
| Linha 25: | Linha 26: | ||
ssh server dh-exchange min-len 2048 | ssh server dh-exchange min-len 2048 | ||
ssh server rsa-key min-length 2048 | ssh server rsa-key min-length 2048 | ||
| + | commit | ||
'''Cliente''' | '''Cliente''' | ||
ssh client publickey | ssh client publickey | ||
| Linha 30: | Linha 32: | ||
ssh client hmac | ssh client hmac | ||
ssh client key-exchange | ssh client key-exchange | ||
| + | commit | ||
2 - Importe a sua chave pública. | 2 - Importe a sua chave pública. | ||
# Cada bloco é referente a um trecho de configuração sequencial que deve ser respeitado; | # Cada bloco é referente a um trecho de configuração sequencial que deve ser respeitado; | ||
# No comando '''public-key-code begin''' pressione enter e cole a sua chave pública, incluindo o ssh-rsa e o comentário final, do mesmo jeito quando você visualizou com o comando '''cat''' no passo 0; | # No comando '''public-key-code begin''' pressione enter e cole a sua chave pública, incluindo o ssh-rsa e o comentário final, do mesmo jeito quando você visualizou com o comando '''cat''' no passo 0; | ||
# A chave pública utilizada foi gerada apenas para o tutorial :) | # A chave pública utilizada foi gerada apenas para o tutorial :) | ||
| − | rsa peer-public-key <nome-da-chave> encoding-type openssh | + | rsa peer-public-key '''<nome-da-chave>''' encoding-type openssh |
public-key-code begin | public-key-code begin | ||
| Linha 41: | Linha 44: | ||
public-key-code end | public-key-code end | ||
peer-public-key end | peer-public-key end | ||
| − | 3 - Defina o tipo da autenticação do usuário como '''rsa'''. | + | commit |
| − | ssh user <usuario> | + | 3 - Defina o tipo da autenticação do usuário como '''rsa'''. |
| − | ssh user <usuario> authentication-type rsa | + | |
| − | ssh user <usuario> assign rsa-key <nome-da-chave> | + | Preste bem atenção porque depois desse '''commit''' você não conseguirá mais realizar o acesso usando usuário e senha, se você estiver inseguro, use o comando '''commit trial 60''', que manterá sua última alteração por 60 segundos. Então caso algo dê errado você terá acesso ao equipamento novamente em 1 minuto, mas se tudo der certo você faz o '''commit''' permanente. Durante o tempo do '''commit trial 60''', você terá 1 minuto para realizar o teste de acesso via ssh usando o novo método configurado. |
| − | ssh user <usuario> service-type all | + | |
| + | O '''commit trial''' lembra muito a função '''Safe Mode''' do '''Mikrotik''', no caso do '''Huawei''' independente se você permanece com acesso ou não ao equipamento, as configurações são revertidas. | ||
| + | ssh user '''<usuario>''' | ||
| + | ssh user '''<usuario>''' authentication-type rsa | ||
| + | ssh user '''<usuario>''' assign rsa-key '''<nome-da-chave>''' | ||
| + | ssh user '''<usuario>''' service-type all | ||
| + | commit | ||
4 - Troubleshooting | 4 - Troubleshooting | ||
# Se houver a necessidade de realizar um troubleshooting para analisar as configurações, use os comandos abaixo. | # Se houver a necessidade de realizar um troubleshooting para analisar as configurações, use os comandos abaixo. | ||
# É importante ressaltar que programas de gerenciamento de acesso '''SSH''' ('''Putty''', '''MobaXterm''' etc) precisam estar atualizados, caso contrário bugs e incompatibilidades podem surgir. | # É importante ressaltar que programas de gerenciamento de acesso '''SSH''' ('''Putty''', '''MobaXterm''' etc) precisam estar atualizados, caso contrário bugs e incompatibilidades podem surgir. | ||
| − | # | + | # Dependendo da versão do '''VRP''' utilizada, alguns comandos e suas sintaxes podem variar. Consulte a documentação correspondente à versão do seu equipamento antes de aplicar as configurações. |
| + | # Lembre-se de configurar a chave privada em seu programa de gerenciamento de acesso SSH, no caso do '''Putty''' gere uma nova chave no formato que ele aceita ('''.ppk'''). | ||
'''Roteador''' | '''Roteador''' | ||
| − | display ssh user-information <usuario> | + | display ssh user-information '''<usuario>''' |
display rsa peer-public-key brief | display rsa peer-public-key brief | ||
| − | display rsa peer-public-key name <nome-da-chave> | + | display rsa peer-public-key name '''<nome-da-chave>''' |
'''Linux''' | '''Linux''' | ||
| − | ssh -i ~/.ssh/<nome-da-chave> -p <porta-ssh> <usuario>@<ip-do-equipamento> | + | ssh -i ~/.ssh/'''<nome-da-chave>''' -p '''<porta-ssh>''' '''<usuario>'''@'''<ip-do-equipamento>''' |
| + | |||
'''Autor''': [[Usuário:Erickandrade|Erick Andrade]] | '''Autor''': [[Usuário:Erickandrade|Erick Andrade]] | ||
| + | [[Categoria:Segurança]] | ||
| + | [[Categoria:Huawei]] | ||
| + | [[Categoria:Infraestrutura]] | ||
| + | [[Categoria:Boas Práticas]] | ||
Edição atual tal como às 00h13min de 1 de agosto de 2026
Introdução
A autenticação baseada apenas em usuário e senha ainda é amplamente utilizada, porém está mais suscetível a ataques como força bruta, vazamento e reutilização de credenciais. Para aumentar a segurança do acesso aos equipamentos da infraestrutura, recomenda-se utilizar a autenticação por chaves SSH, que oferece um mecanismo mais robusto e confiável para identificação dos administradores.
Orientações importantes para a sua chave SSH RSA:
- Utilize chaves RSA com tamanho adequado;
- Proteja a chave privada com uma senha;
- Nunca compartilhe a chave privada;
- Revogue imediatamente chaves comprometidas;
- Restrinja algoritmos e métodos de autenticação.
Configurando
0 - Crie sua chave SSH pública e privada.
Se você ainda não possui um par de chaves SSH, gere um utilizando o comando abaixo em um servidor Linux ou pelo método de sua preferência. Caso já possua uma chave SSH compatível, basta reutilizá-la para este procedimento.
cd ~/.ssh ssh-keygen -t rsa -b 4096 -f <nome-da-chave> -C "<comentario>"
Visualize sua chave pública.
cat <nome-da-chave>.pub
1 - Configure os métodos e chaves (aumento de compatibilidade).
Servidor
ssh server cipher aes128_gcm aes256_gcm aes128_ctr aes256_ctr ssh server hmac sha2_256 sha2_512 ssh server publickey rsa rsa_sha2_256 rsa_sha2_512 ecc ssh server key-exchange curve25519_sha256 ecdh_sha2_nistp256 dh_group16_sha512 ssh server dh-exchange min-len 2048 ssh server rsa-key min-length 2048 commit
Cliente
ssh client publickey ssh client cipher ssh client hmac ssh client key-exchange commit
2 - Importe a sua chave pública.
- Cada bloco é referente a um trecho de configuração sequencial que deve ser respeitado;
- No comando public-key-code begin pressione enter e cole a sua chave pública, incluindo o ssh-rsa e o comentário final, do mesmo jeito quando você visualizou com o comando cat no passo 0;
- A chave pública utilizada foi gerada apenas para o tutorial :)
rsa peer-public-key <nome-da-chave> encoding-type openssh public-key-code begin
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCiOKoFlZrpLMVGb6tz0sQ+BP+mSJzm9PAhrqBz3KrAAZnsdSQB05QMXtmQstpTaOLf80/ZVpm5Zhi0EsfY7gDcZPCElJU0GD+SZaBB3fTAxkHqogxN0a4bBxd2J+e+yiIrh/QSpCBVwNBlnYFtkHbyz3TRsemMwPqJMB+qrC9PoYTxaURU4ZXP8KIDdwWJvBlU3tqq4l+wJVIkHNOGAwqztIYKlR50YDKD8x74bzexZL4YXkY7KOl/UWf2iR0S6LKm/ucq6G9qlN/9FmrWTUgYSUtbURec25kyHkNAebEhGEAYGLc6X3t5EKkVsVeueMEL6iRMpWCPiFMzU0yryJgdk5QXvFN3sRzXxU/fcshJey6lsDA+wNVp+RMsTVGfbAnasM/Oo/W5gz9dthnIQIQ4AKZks6At/OTvD0B/bZW0GA2fpQw4wNHEvBeyC5yGQay+uRpuwgojsO8W0YDc62MHXxPp75yu8ZUPjobbqtWWBHsL0hISVulMTZkkAffJfxJkxx2nXBbAyKbIPLwcOnogVbvZ1VD4tA6epoNzVBXObTNKCKDpvCIFELikjNGutFzHQ11R3qXgo5fnEhFRML2l77siZponJ0v7lsV1Nia9Izc91YxtOaRIp2I1+lhe+FQf65bvpjHytBZJWE2+/ju4AIGKDK8PLnvDd3miP+8v4Q== erickchave
public-key-code end peer-public-key end commit
3 - Defina o tipo da autenticação do usuário como rsa.
Preste bem atenção porque depois desse commit você não conseguirá mais realizar o acesso usando usuário e senha, se você estiver inseguro, use o comando commit trial 60, que manterá sua última alteração por 60 segundos. Então caso algo dê errado você terá acesso ao equipamento novamente em 1 minuto, mas se tudo der certo você faz o commit permanente. Durante o tempo do commit trial 60, você terá 1 minuto para realizar o teste de acesso via ssh usando o novo método configurado.
O commit trial lembra muito a função Safe Mode do Mikrotik, no caso do Huawei independente se você permanece com acesso ou não ao equipamento, as configurações são revertidas.
ssh user <usuario> ssh user <usuario> authentication-type rsa ssh user <usuario> assign rsa-key <nome-da-chave> ssh user <usuario> service-type all commit
4 - Troubleshooting
- Se houver a necessidade de realizar um troubleshooting para analisar as configurações, use os comandos abaixo.
- É importante ressaltar que programas de gerenciamento de acesso SSH (Putty, MobaXterm etc) precisam estar atualizados, caso contrário bugs e incompatibilidades podem surgir.
- Dependendo da versão do VRP utilizada, alguns comandos e suas sintaxes podem variar. Consulte a documentação correspondente à versão do seu equipamento antes de aplicar as configurações.
- Lembre-se de configurar a chave privada em seu programa de gerenciamento de acesso SSH, no caso do Putty gere uma nova chave no formato que ele aceita (.ppk).
Roteador
display ssh user-information <usuario> display rsa peer-public-key brief display rsa peer-public-key name <nome-da-chave>
Linux
ssh -i ~/.ssh/<nome-da-chave> -p <porta-ssh> <usuario>@<ip-do-equipamento>
Autor: Erick Andrade