Acessando Switchs Cisco usando ssh

Abaixo vou mostrar como configurar o acesso SSH a switchs Cisco mais antigos, com protocolos de troca de chaves que não são mais aceitos por padrão nas versões modernas do OpenSSH.

1. O problema

Ao tentar acessar meu servidor Cisco pela primeira vez usando ssh, recebi a seguinte mensagem de erro:

Unable to negotiate with 192.168.10.6 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1

Para resolver isso precisamos fazer algumas configurações do ssh no Cisco e no cliente.

2. Configuração do SSH no Cisco

Vou supor que todo o acesso por ssh já está configurado nas linhas vty e as configurações relacionadas à criação de usuário, senha, geração de chaves etc também já está concluída. Os comandos abaixo são apenas para resolver o problema de incompatibilidade de protocolo de troca de chaves.

Switch>
sw_cisco>enable
sw_cisco#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
sw_cisco(config)#ip ssh version 2
sw_cisco(config)#ip ssh server algorithm authentication password
sw_cisco(config)#ip ssh server algorithm publickey rsa-sha2-256 rsa-sha2-512
sw_cisco(config)#ip ssh server algorithm kex diffie-hellman-group14-sha1
sw_cisco(config)#end
sw_cisco#
sw_cisco#copy running-config strat
sw_cisco#copy running-config st
sw_cisco#copy running-config startup-config 
Destination filename [startup-config]? 
Building configuration...
[OK]
sw_cisco#

Isso faz com que o switch force o uso da versão mais atualizada do SSH e que ofereça, apenas, a alternativa menos pior entre os protocolos de troca de chaves disponíveis.

Essa solução foi testada em um Switch Cisco Catalyst C1000-16P-2G-L rodando IOS Version 15.2(7)E12.

3. Configuração SSH no Linux

A configuração no cliente é bem simples e foi feita com sucesso, tanto no Debian 13 trixie, quanto no Pop!_OS 24.04. Também funcionou no Windows 11, mas tive que resolver vários problemas de permissões de arquivos, que fogem do objetivo deste artigo.

Arquivo: ~/.ssh/config

Host sw_cisco
 HostName ip_do_switch
 User seu_usuario
 PubkeyAcceptedAlgorithms +ssh-rsa
 HostKeyAlgorithms +ssh-rsa
 KexAlgorithms +diffie-hellman-group14-sha1
 StrictHostKeyChecking accept-new

Ajuste de permissões:

chmod 600 ~/.ssh/config

4. Teste

ssh sw_cisco

Se solicitar fingerprint, responda yes.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima