terça-feira, 28 de março de 2017

Transferência Segura de Arquivos no Cisco IOS via SCP

Olá Pessoal,

Em outro artigo do blog intitulado "Backup de Configurações do IOS em Servidor TFTP no Linux" o leitor aprendeu a configurar um servidor TFTP no Linux (ou Windows) para fazer o backup de arquivos de switches e roteadores Cisco que rodam o IOS, uma vez que esses dispositivos já possuem um cliente TFTP embutido. No entanto, por mais simples que seja executar um servidor TFTP na rede, nem sempre temos um disponível quando precisamos fazer uma transferência rápida de arquivos entre nossa máquina e um roteador/switch.

Não seria ainda mais interessante fazer essa transferência de arquivos via SCP (Secure Copy Protocol) sem a necessidade de executar nenhum servidor TFTP em nossa máquina? Diferente do TFTP, o SCP é um protocolo seguro para transferência de arquivos que opera a partir do SSH. Esse detalhe é interessante porque atualmente é muito provável que todos os switches e roteadores da empresa já estejam configurados para aceitar conexões remotas seguras via SSH. Nesses casos em que o SSH já está configurado na caixa, é ainda mais simples ativar o suporte ao SCP. 


Partindo do princípio de que o serviço SSH esteja devidamente configurado no roteador ou switch seguindo os passos da configuração abaixo, basta entrar com o comando destacado em amarelo para ativar o suporte ao SCP para fins de transferência segura de arquivos ao dispositivo. Ou seja, uma única linha em qualquer caixa com suporte a SSH é suficiente para ativar o SCP. 

Router(config)# hostname R1
R1(config)# ip domain-name labcisco.com.br
R1(config)# username ADMIN privilege 15 secret SENHA
R1(config)# crypto key generate rsa 
[gerar chave de 1024 bits]
R1(config)# ip ssh version 2
R1(config)# line vty 0 15
R1(config-line)# transport input ssh
R1(config-line)# login local
R1(config-line)# exit
R1(config)# ip scp server enable

Uma vez ativado o SCP com base nas configurações anteriores, já é possível fazer a transferência segura de arquivos entre o roteador e outra(s) máquina(s) sem a necessidade de um servidor TFTP. A partir de uma máquina executando Linux ou MacOS, é possível utilizar o próprio cliente SCP já embutido no sistema. Para aqueles que utilizam o Windows, uma aplicação gratuita e bastante comum para esse fim é o WinSCP. Por exemplo, no Linux um arquivo denominado teste.txt no diretório local poderia ser copiado na raiz da memória flash do roteador (com IP 192.168.0.1) através do seguinte comando:

shbbrito@Linux:~# scp teste.txt ADMIN@192.168.0.1:flash:teste.txt
Password: <SENHA>
teste.txt                                100%      0    100K
Connection to 192.168.0.1 closed by remote host.

Também é possível fazer o processo reverso, ou seja, copiar um arquivo da memória do roteador para uma máquina, através do comando abaixo:

shbbrito@Linux:~# scp ADMIN@192.168.0.1:flash:teste.txt /home/shbbrito/teste.txt

Simples assim, seguro e prático, muito prático!

Façam seus testes...

Samuel.

2 comentários:

  1. Tem como fazer uma macro de cópia automática de algum arquivo no switch/roteador Cisco?

    ResponderExcluir
    Respostas
    1. Sugiro que você procure pelo software RANCID, acrônimo de Really Awesome New Cisco confIg Differ. Trata-se de uma ferramenta útil para automatizar o backup de dispositivos de redes que foi originalmente desenvolvida pensando em caixas da Cisco. O RANCID permite que seja feito login automatizado nos dispositivos via Telnet ou SSH para que comandos programados sejam executados em série.

      Caso haja interesse, posso escrever um artigo sobre o RANCID...

      Excluir