И так, допустим нам нужно выполнить определённую команду на свиче с удалённого компа, например, на FreeBSD. Зачем это нужно? Да вот зачем. Допустим у вас задача: обходить все циски и выводить состояние какого-то параметра, или поиск заданого MAC адреса, на какой циске он находится и к какому порту подключён.
И так, приступим. Что имеем: cisco catalyst 2950 с IP=10.10.10.221 и машину на FreeBSD сIP=10.10.10.254. Заходим на все циски, и добавляем в конфигурацию следующее.
root-sw#conf t
root-sw(config)#
root-sw(config)#ip subnet-zero
root-sw(config)#no ip rcmd domain-lookup
root-sw(config)#ip rcmd rsh-enable
root-sw(config)#ip rcmd remote-host ciscouser 10.10.10.254 skeletor enable
В последней строке мы указываем разрешать выполнение команды от имени юзера на циске (ciscouser), с хоста 10.10.10.254, от имени юзера skeletor на машине 10.10.10.254.
Теперь идём за хост 10.10.10.254 и залогинившись как юзер skeletor, выполняем команду просмотра конфигурации циски.
$ /usr/bin/rsh -l ciscouser 10.10.10.221 show run
Building configuration...
Current configuration:
!
version 12.0
no service pad
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname root-sw
!
Кстати, самого пользователя ciscouser на cisco catalyst может и не существовать 🙂
Примечание
Так же можно использовать Cisco EEM – некий внутрений скриптовый язык для Cisco IOS.