09-21-2009
expect script hangs while waiting for the flag...
I am writing a script to check whether the root password is set to a special string on some solaris servers.
Normally, the manually ssh login session is as below:
$ ssh root@host1
Password:
Last login: Wed Sep 16 13:53:28 2009 from 10.1.102.13
Sun Microsystems Inc. SunOS 5.10 Generic January 2005
#
But the script hangs with below message:
$ ./ssh_check.exp
spawn ssh root@10.1.102.13
The authenticity of host '10.1.102.13 (10.1.102.13)' can't be established.
RSA key fingerprint is ae:f9:36:bc:dc:b9:33:4d:72:a2:d7:fb:87:c7:e4:fc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.1.102.13' (RSA) to the list of known hosts.
Password:
Last login: Tue Sep 15 18:40:29 2009 from 10.1.102.13
but it seems that the program keeps wiat the "#". But due to some reason, the sign just won't come out...
Below is the code of my script:
#!/bin/expect --
set user "root"
set password "xxxx"
set dead_list ""
set missed_list ""
set timeout 15
set missed 0
set dead 1
set done 1
set server_list {"host1", "host2"}
foreach server $server_list {
spawn ssh $user@$server
set done 1
while {$done} {
expect {
"yes/no" {
send "yes\n"
set dead 1
}
-re "(P|p)assword" {
if {$missed} {
send \003
lappend missed_list $server
set missed 0
set done 0
} else {
send "$password\n"
set missed 1
}
}
"#" {
send "exit\n"
set missed 0
set dead 1
set done 0
}
"Last" {
send \003
set missed 0
set dead 1
set done 0
}
timeout {
if {$dead} {
lappend dead_list $server
set missed 0
set dead 1
set done 0
}
send \003
}
}
}
wait
}
Thanks in advance
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
hi all,
Im fairly new to scripting and am having a noobish issue. Ive got a script that checks for certain directories and if they dont exist, prompts the user to do a mkdir. heres trouble spot in the script:
cat dirlsttemp.dat | while read dir; do
echo "$dir does not exist, would you... (3 Replies)
Discussion started by: rdudejr
3 Replies
2. UNIX for Advanced & Expert Users
Hi All:
I am trying to call a multi-step script from a script.
here is the code
#!/usr/bin/ksh
util.sh <<EOF
connect
dump
EOF
I am able to run the script but it is disconnecting before the dump job is finished. The script util.sh does not provide any functionality to wait... (9 Replies)
Discussion started by: laxman123
9 Replies
3. Shell Programming and Scripting
Hello,
I have a simple expect script I use to ssh to a workstation. I then pass control over to the user with interact.
This script works fine on my HP and Mac, but on my Linux Desktop, I get a problem where the terminal hangs when ever I execute a command in the interact session that requires a... (0 Replies)
Discussion started by: natedog
0 Replies
4. Shell Programming and Scripting
Hello to all...this is my first post (so please go easy). :)
I feel pretty solid at expect scripting, but I'm running into an issue that I'm not able to wrap my head around. I wrote a script that is a little advanced for logging into a remote Linux machine and changing text in a file using sed.... (2 Replies)
Discussion started by: v1k0d3n
2 Replies
5. Shell Programming and Scripting
This Expect script provides expect with a list of IP addresses to Cisco IPS sensors and commands to configure Cisco IPS sensors. The user, password, IP addresses, prompt regex, etc. have been anonymized. In general this script will log into the sensors and send commands successfully but there are... (1 Reply)
Discussion started by: genewolfe
1 Replies
6. Shell Programming and Scripting
When I run script listed below it causes my Linux to hang. When it freezes I can do totally nothing, move cursor, switch to another terminal or whatever. Linux is just not responding and the only way out I know is a hard reset of PC.
#!/bin/bash
if ; then
echo "one parameter is needed: IP... (3 Replies)
Discussion started by: mass85
3 Replies
7. Shell Programming and Scripting
do
case $option in
d ) CHEC=true;;
# more option processing can go here
\? ) echo "Unknown option: -$OPTARG"
: ) echo "Missing option argument for -$OPTARG";;
* ) echo "Unimplimented option: -$OPTARG";;
esac
done
shift $(($OPTIND - 1)) (2 Replies)
Discussion started by: upenmishra
2 Replies
8. Programming
Hi,
Am very new to expect scripting..
Can You please suggest me how to call an expect script inside another expect script..
I tried with
spawn /usr/bin/ksh
send "expect main.exp\r"
expect $root_prompt
and
spawn /usr/bin/ksh
send "main.exp\r"
expect $root_prompt
Both... (1 Reply)
Discussion started by: Priya Amaresh
1 Replies
9. Programming
I have an expect script called remote that I want to call from inside my expect script called sudoers.push, here is the code that is causing me issues:
set REMOTE "/root/scripts/remote"
...
log_user 1
send_user "Executing remote script as $user...\n"
send_user "Command to execute is: $REMOTE... (1 Reply)
Discussion started by: brettski
1 Replies
10. Programming
I'm fairly new to scripting so this might not be possible.
I am using Expect with Cisco switches and need to capture the string after finding the expect request. For example, when I issue "show version" on a Nexus switch, I'm looking to capture the current firmware version:
#show version
... (0 Replies)
Discussion started by: IBGaryA
0 Replies
LEARN ABOUT SUSE
ssh-keysign
SSH-KEYSIGN(8) BSD System Manager's Manual SSH-KEYSIGN(8)
NAME
ssh-keysign -- ssh helper program for host-based authentication
SYNOPSIS
ssh-keysign
DESCRIPTION
ssh-keysign is used by ssh(1) to access the local host keys and generate the digital signature required during host-based authentication with
SSH protocol version 2.
ssh-keysign is disabled by default and can only be enabled in the global client configuration file /etc/ssh/ssh_config by setting
EnableSSHKeysign to ``yes''.
ssh-keysign is not intended to be invoked by the user, but from ssh(1). See ssh(1) and sshd(8) for more information about host-based authen-
tication.
FILES
/etc/ssh/ssh_config
Controls whether ssh-keysign is enabled.
/etc/ssh/ssh_host_dsa_key, /etc/ssh/ssh_host_rsa_key
These files contain the private parts of the host keys used to generate the digital signature. They should be owned by root, read-
able only by root, and not accessible to others. Since they are readable only by root, ssh-keysign must be set-uid root if host-
based authentication is used.
SEE ALSO
ssh(1), ssh-keygen(1), ssh_config(5), sshd(8)
HISTORY
ssh-keysign first appeared in OpenBSD 3.2.
AUTHORS
Markus Friedl <markus@openbsd.org>
BSD
May 31, 2007 BSD