← voltar pro blog
// segurança

SSH no Cisco IOS: como configurar acesso remoto seguro passo a passo

por Luiz Silvério

SSH é o protocolo de acesso remoto seguro para equipamentos Cisco.

O Telnet faz a mesma função mas envia tudo em texto puro: usuário, senha e todos os comandos digitados. Qualquer pessoa com Wireshark no mesmo segmento captura tudo.

Em qualquer ambiente de produção, o Telnet não deve existir. Só SSH.


Pré-requisitos para habilitar SSH

O SSH no Cisco IOS precisa de três configurações antes de gerar as chaves:

1. Hostname diferente do padrão

O hostname é parte do nome das chaves RSA geradas. Sem hostname configurado, as chaves não são geradas corretamente.

Router(config)# hostname SW1

2. Domain name configurado

O domain name também compõe o nome das chaves.

SW1(config)# ip domain-name packetpass.com.br

3. Usuário local criado

As linhas VTY vão usar autenticação local.

SW1(config)# username admin privilege 15 secret MinhaS3nhaForte

Configuração passo a passo

Passo 1: gerar o par de chaves RSA

SW1(config)# crypto key generate rsa modulus 2048

Use modulus 2048 ou maior. O mínimo para SSHv2 é 768 bits, mas 2048 é o padrão recomendado hoje.

Passo 2: forçar SSHv2

SW1(config)# ip ssh version 2

SSHv1 tem vulnerabilidades conhecidas. Forçar versão 2 garante que nenhum cliente se conecta usando a versão antiga.

Passo 3: configurar as linhas VTY para aceitar apenas SSH

SW1(config)# line vty 0 15
SW1(config-line)# transport input ssh
SW1(config-line)# login local

O transport input ssh é o comando que bloqueia o Telnet. Sem ele, ambos os protocolos ficam aceitos.

O login local instrui o IOS a usar a base de usuários local para autenticação.

Configuração completa consolidada:

hostname SW1
ip domain-name packetpass.com.br
username admin privilege 15 secret MinhaS3nhaForte
crypto key generate rsa modulus 2048
ip ssh version 2
line vty 0 15
 transport input ssh
 login local

Configurações adicionais recomendadas

Timeout de sessão:

SW1(config)# line vty 0 15
SW1(config-line)# exec-timeout 10 0

Desconecta sessões inativas após 10 minutos.

Limite de tentativas de autenticação:

SW1(config)# ip ssh authentication-retries 3

Após 3 tentativas falhas, a sessão é encerrada.

Restringir SSH por IP com ACL:

SW1(config)# ip access-list standard ACESSO-SSH
SW1(config-std-nacl)# permit 10.0.0.0 0.0.0.255

SW1(config)# line vty 0 15
SW1(config-line)# access-class ACESSO-SSH in

Só o range 10.0.0.0/24 pode iniciar sessões SSH.


Verificação

SW1# show ip ssh
SSH Enabled - version 2.0
Authentication timeout: 120 secs; Authentication retries: 3
Minimum expected Diffie Hellman key size : 1024 bits
IOS Keys in SECSH format(ssh-rsa, base64 encoded):
...

SW1# show ssh
Connection Version Mode Encryption  Hmac         State          Username
0          2.0     IN   aes256-ctr  hmac-sha2-256 Session started admin

SSH Enabled - version 2.0 confirma que o SSH está ativo na versão correta.

show ssh mostra as sessões ativas com usuário, versão e algoritmos de criptografia.

Para verificar que o Telnet está bloqueado:

SW1# show running-config | section vty
line vty 0 4
 login local
 transport input ssh
line vty 5 15
 login local
 transport input ssh

Se aparecer transport input ssh em todas as linhas VTY, o Telnet está bloqueado.


Conectar via SSH

Do computador de gerenciamento:

ssh -l admin 192.168.1.1
ssh -l admin -p 22 192.168.1.1

Ou forçando SSHv2:

ssh -2 -l admin 192.168.1.1

O que a prova CCNA cobra

SSH está no domínio Security Fundamentals. Os pontos mais frequentes:

Os pré-requisitos: hostname, domain-name, usuário local. O comando para gerar as chaves RSA e o tamanho do modulus. O comando ip ssh version 2. Como restringir as VTY para SSH com transport input ssh. Verificação com show ip ssh e show ssh. Por que o Telnet não deve ser usado em produção.


FAQ

Preciso de hostname e domain-name mesmo em laboratório? Sim. O IOS usa hostname.domain-name como nome do par de chaves RSA. Sem os dois, o comando crypto key generate rsa não funciona corretamente.

Como remover as chaves RSA e começar de novo?

SW1(config)# crypto key zeroize rsa

Esse comando apaga todas as chaves RSA. Você precisará gerar um novo par depois.

SSH funciona em switches de camada 2? Sim. Qualquer switch Cisco com IOS suporta SSH na interface de gerenciamento (VLAN 1 ou SVI dedicada de gerenciamento). A configuração é idêntica à do roteador.


▌ SSH e segurança de acesso remoto são temas de Security Fundamentals do CCNA. O diagnóstico gratuito do PacketPass mostra onde estão suas lacunas por domínio. Resultado na hora, sem cadastro.


Informações baseadas no blueprint CCNA 200-301 atual e documentação oficial da Cisco sobre SSH e acesso remoto.