O post de hoje surgiu da necessidade de um projeto na UNESP onde o cliente gerava as próprias chaves pública e privada e importava para o Switch. A autenticação para conexão ao Switch para fins de gerenciamento ocorrerá através de certificados. O cliente SSH irá autenticar-se utilizando certificados ao invés de senhas. Se não houver um certificado válido o usuário não conseguirá conectar-se ao Switch.
Mostraremos passo-a-passo como gerar as chaves pública e privada utilizando o Software Putty para Windows e configuraremos o Switch para permitir o acesso do host via SSH por troca de chaves.
Para efetuar download do Putty e do Puttygen clique em
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Gerando as chaves
Gere as chaves pelo puttygen. Abra o software e clique no botão Generate. Depois, fique movendo o mouse no espaço abaixo da barra de progresso até que o processo esteja finalizado (isso é feito para gerar dados aleatórios para criar o certificado).

Após concluir o processo, será exibida a tela abaixo:

Salve a chave pública e privada. No exemplo salvaremos a chave privada como comutadores.ppk e chave pública como comutadores.pub.
Configurando o Switch
Criaremos um diretório chamado
chave no Switch e copiaremos a chave pública na memória Flash no modo user-view:
mkdir chave
...
%Created dir flash:/chave.
tftp 1.1.1.2 get comutadores.pub flash:/chave/comutadores.pub
Importando a chave pública para o Switch e ativando o SSH no Switch
[4800G]ssh server enable
[4800G]public-key peer comutadores.pub import sshkeyflash:/chave/comutadores.pub
Criando o usuário diego e permitindo acesso por SSH com nível 3 de permissão
#
local-user diego
authorization-attribute level 3
service-type ssh
#
user-interface vty 0 4
authentication-mode scheme
user privilege level 3
protocol inbound ssh
#
Associando o usuário diego a chave comutadores.pub
[4800G] ssh user diego service-type all authentication-type publickey assign publickey comutadores.pub work-directory flash:/chave/comutadores.pub
Utilizando a chave pública geradas pelo computador para acesso ao Switch
Utilizando o software putty digite o endeço IP do Switch e marque a opção SSH

Agora, você terá que acessar as opções oferecidas no menu à esquerda da janela do PuTTy. Neste menu, encontraremos uma opção chamada “Connection” e, logo abaixo dela, uma opção chamada “Data”, clique nela. Em “Auto-login username” digite o nome do usuário que você quer utilizar para se conectar ao Switch.

Agora, vamos dizer ao PuTTy onde está localizada a chave privada para que ele possa utilizá-la durante a conexão. Para isso, no menu à esquerda, vá em “Connection”, expanda “SSH” e clique em “Auth”. Clique no botão “Browse” e selecione o arquivo com a chave privada.

Agora, volte para “Session” (a primeira opção, no topo do menu à esquerda) e clique no botão “Save”. Pronto, se tudo correu bem, basta você dar dois cliques no nome do perfil que você salvou, clique em Open e você irá conseguir logar automaticamente no Switch.
Configuração final
ssh server enable
#
public-key peer comutadores.pub
public-key-code begin
AAAAAB3Nza00D06092A864886F70D010101050003818A003081860281806522B8CDE0A37D42A5
98ABCA897D7BEBBC9A7C6C9E0411CC43094076904639F090EFCC5844CD688AC3E25867E29D
C618B50CE435A5E0BEA497C6411A6C32E8DDAC4D9DD123418BD91F9D60EEDC3D4C96911E07
56621E8017F196AE8FBC39BB99794296A88A58C3BF9B0C13FC36DF9B67B186103B233F67E4
7AD1BE9E6B502A9B020125
public-key-code end
peer-public-key end
#
local-user diego
authorization-attribute level 3
service-type ssh
#
ssh user diego service-type all authentication-type publickey assign publickey comutadores.pub work-directory flash:/chave/comutadores.pub
#
user-interface vty 0 4
authentication-mode scheme
user privilege level 3
#
Script enviado por Douglas Jefferson.
Sites de referência:
http://www.pedropereira.net/ssh-sem-senha-autenticacao-atraves-de-certificados-rsa/
http://urucubaca.com/putty-o-poder-do-ssh-no-windows/2008/01/31/
Dúvidas? Deixem comentários...