Bei etlichen Routern die snmp-Community per telnet zu setzen kann mühsam werden. Ein Script muss her. Das telnet-Kommando ist anscheinend so nicht gut dafür geeignet um eingaben von STDIN zu verarbeiten. Durch google bin ich darauf gekommen, dass viele es mit “expect” lösen. Hier mein Script:
#!/bin/bash for host in `cat /root/hosts` ; do expect << EOF spawn telnet $host expect "Login: " send "admin\r" expect "Password: " send "secret\r" expect -exact "-->" send "snmp set communityname xxx manager xxx\r" expect -exact "-->" send "user logout\r" EOF done;
Die Hosts stehen in der Datei /root/hosts. Je in einer Zeile.