#!/usr/bin/expect # # Sript connects to Cisco router via SSH with given credentials. # It configures key-hash for login uing public key and create # user with privilege level 15. if {[llength $argv] != 7} { puts "7 arguments are needed, exiting now" exit 1 } set user0 [lindex $argv 0] set ip [lindex $argv 1] set pass0 [lindex $argv 2] set secret [lindex $argv 3] set fingerprint [lindex $argv 4] set user15 [lindex $argv 5] set pass15 [lindex $argv 6] spawn ssh -o "StrictHostKeyChecking no" $user0@$ip set timeout 120 expect "*?assword:*" send "$pass0\r" expect "*>*" send "enable\r" expect "*?assword:*" send "$secret\r" expect "*#*" send "conf t\r" expect "*(config)#" send "ip ssh pubkey-chain\r" expect "*(conf-ssh-pubkey)#" send "username $user15\r" expect "*(conf-ssh-pubkey-user)#" send "key-hash ssh-rsa $fingerprint\r" expect "*(conf-ssh-pubkey-user)#" send "exit\r" expect "*(conf-ssh-pubkey)#" send "exit\r" expect "*(config)#" send "username $user15 privilege 15 secret $pass15\r" expect "*(config)#" send "exit\r" expect "*#*" send "write\r" expect "*#*" send "exit\r" expect eof