Настроить Event Manager для логгирования всех выполненных на роутере команд:
event manager applet CLIaccounting event cli pattern ".*" sync no skip no action 1.0 syslog priority informational msg "$_cli_msg" set 2.0 _exit_status 1 Включить логгирование:
archive log config logging enable logging size 1000 notify syslog hidekeys По умолчанию logging size 100 если этого достаточно, команду можно не вводить. Посмотреть лог:
show archive log config all
Все выполненные команды будут дублироваться на консоль. Если это не надо, отключить вывод:
no logging console
Включить:
logging console
...
Если при попытке подключиться выдает что-то похожее на “no matching key exchange method found”:
На Cisco (ip 192.168.2.2):
длина ключа RSA должна быть больше 1024 создаем учетную запись пользователя (здесь - cisco) В linux:
создаем ~/.ssh/config Host 192.168.2.2 KexAlgorithms +diffie-hellman-group1-sha1 Ciphers aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc Алгоритмы могут быть другие, подходящие будут указаны в сообщении об ошибке.
проверяем
ssh 192.168.2.2 -l cisco При ошибке ‘connection refused’ помогает создание нового ключа:
crypto key generate rsa general-keys modulus 1024
В linux удаляю запись о старом ключе
ssh-keygen -f ~/.ssh/known_hosts -R "192.168.2.2"
и пробую поключиться
...
В Windows запущен GNS3 с роутером, доступным по telnet (ip 192.168.2.2), установлена Ubuntu в WSL. Как управлять роутером через Ansible?
Ставим Ansible
sudo apt install ansible
Создаем файлы в домашнем каталоге
myhosts
[cisco-routers] 192.168.2.2 ansible.cfg
[defaults] inventory = ./myhosts gathering = explicit telnet_command_show_ver.yml
(логин без ввода имени пользователя)
--- - name: Run show command on routers hosts: cisco-routers tasks: - name: run show commands telnet: login_prompt: "Password: " password: cisco prompts: - "[>#]" command: - terminal length 0 - show version Выполняем
ansible-playbook telnet_command_show_ver.yml
...