Sponsored Content
Top Forums Shell Programming and Scripting Tcl / expect need to attempt telnet if failed ssh Post 303028257 by Don Cragun on Wednesday 2nd of January 2019 09:28:33 PM
Old 01-02-2019
I haven't tried what you're trying to do before, but the syntax you're using mostly looks OK.

You haven't said what operating system you're using and that can make a difference for some versions of ssh. On most systems, the destination device has to follow the options, so there is a chance that it might work if you change:
Code:
#             -re "Connection refused|Connection timed out" { spawn ssh -o StrictHostKeyChecking=no $dev -l $unam }
             timeout { spawn ssh -o StrictHostKeyChecking=no $dev -l $unam
                     expect {
                            timeout { set err [ open "$hnam\_$dev.err" w ] ;
                                      puts $err "SSH timed out for $dev.\n";
                                      log_file ;
                                      exit; }

                             }

                     }
             }

to:
Code:
             -re "Connection refused|Connection timed out" {
                     spawn ssh -o StrictHostKeyChecking=no -l $unam $dev
                     expect {
                            timeout { 
                                      set err [ open "$hnam\_$dev.err" w ] ;
                                      puts $err "SSH timed out for $dev.\n";
                                      log_file ;
                                      exit;
                            }
                    }
             }
             timeout { spawn ssh -o StrictHostKeyChecking=no -l $unam $dev
                     expect {
                            timeout { set err [ open "$hnam\_$dev.err" w ] ;
                                      puts $err "SSH timed out for $dev.\n";
                                      log_file ;
                                      exit; }
                             }
                     }
             }

Obviously, this is totally untested. I would suggest that you turn on tcl's debugging output by including the -d option when you start it.
This User Gave Thanks to Don Cragun For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Expect with tcl/tk

hai all, i have an tcl script in which i have been reading the DUT Command prompt of an cisco switch as DUT Command Prompt : cisco* and running the test case of stp now the problem is if i have given any blank space in between the cisco or at the startup then the Expect is not identifying the... (0 Replies)
Discussion started by: sanjustudy
0 Replies

2. UNIX for Dummies Questions & Answers

Expect/Tcl help?

Does anyone know of an expect/tcl forum that is as helpful as this one is for shell scripting? Or if anyone has any expect knowledge, can you please provide some guidance on how to write to a local error log based on output from a ssh session? I have something like this: foreach host... (2 Replies)
Discussion started by: earnstaf
2 Replies

3. Shell Programming and Scripting

Tcl expect HELP

In the following "for" loop I assume the the script will expect "anyway", "first" NOT in any paticular order and send "yes" when there found, breaking out of the loop when "$prompt" is found. The way it is working is like 3 individual expect lines, and they MUST be in cronological order. ANY help... (0 Replies)
Discussion started by: dave_m
0 Replies

4. Shell Programming and Scripting

tcl/expect

Can someone identify what is the problem here?. no children while executing "exp_wait -nowait -i -1" (procedure "logOptions" line 45) invoked from within "logOptions" (procedure "doExecute" line 98) invoked from within "doExecute" (procedure "main" line 32) ... (7 Replies)
Discussion started by: calsum
7 Replies

5. Shell Programming and Scripting

Webpage to Telnet via Perl and Expect: Telnet problem?

Somewhat long story: I have a simple Perl CGI script that uses Expect to Telnet to a device and grab some data, and then spits it back to Perl for display on the Webpage. This works for many devices I've tried, but one device just fails, it keeps rejecting the password on this device, only... (1 Reply)
Discussion started by: jondo
1 Replies

6. Shell Programming and Scripting

Need 'expect' help, ssh/telnet and trapping

So here is what I am trying to do. I have a large # of switches and routers I am trying to log into. Unfortunately some have ssh only, some have telnet only. and some i have never logged into with ssh. I first want it to SSH, if i have never logged into the box it will ask for adding the ssh key. I... (0 Replies)
Discussion started by: ippy98
0 Replies

7. UNIX for Dummies Questions & Answers

Expect/Tcl help

hi, I am new in Expect. I have a question about expect timeout. suppose I have a structure of expect { ".."{ send"............"} timeout{ ............... } } The silly question is if I reach timeout, how can I store the error message showing on the screen to... (2 Replies)
Discussion started by: allenxiao7
2 Replies

8. Shell Programming and Scripting

tcl/expect magic ssh dictionary password

Hi gurus, I am trying to do some expect/TCL magic. My goal is to write some kind of password guessing script (nearly similar to dictionary attack against ssh). I read that this could be possible with expect/TCL, I am newbie in this language, its function and its terms so please be patient ;) ... (3 Replies)
Discussion started by: wakatana
3 Replies

9. Programming

Failed SSL Connection Attempt

The below error message I started seeing using Ubuntu 14.04 and was wondering if the forum has seen it because I cant seem much on the net for this: perl -e 'use IO::Socket::SSL qw(debug3);IO::Socket::SSL->new(PeerAddr=>"10.0.0.100",PeerPort=> 443,Proto=>"TCP") or die $!' DEBUG:... (1 Reply)
Discussion started by: metallica1973
1 Replies

10. Forum Support Area for Unregistered Users & Account Problems

Further to my query re: failed attempt to change email address on existing account

Neo Thanks for your reply to my original post, entitled "Problem changing the email address associated with my unix.com account". I am unable to reply to you in that thread, as I am unable to log-on to unix.com! From what you said about purging dormant accounts, it is likely that my account... (1 Reply)
Discussion started by: irb
1 Replies
TELNET-PROBE(1) 					      General Commands Manual						   TELNET-PROBE(1)

NAME
telnet-probe - lightweight telnet-like port probe SYNOPSIS
$PCP_BINADM_DIR/telnet-probe [-c] [-v] host port DESCRIPTION
telnet-probe allows the pmdashping(1) daemons to establish connections to arbitrary local and remote service-providing daemons so that response time and service availability information can be obtained. The required host and port number arguments have the same meaning as their telnet(1) equivalents. The -c option causes telnet-probe to perform a connect(2) only. This skips the read(2) and write(2) exercise that would otherwise be done after connecting (see below). The -v option causes telnet-probe to be verbose while operating. Once the telnet connection has been established, telnet-probe reads from stdin until end-of-file, and writes all the input data to the tel- net connection. Next, telnet-probe will read from the telnet connection until end-of-file, discarding whatever data it receives. Then telnet-probe exits. To operate successfully, the input passed via telnet-probe to the remote service must be sufficient to cause the remote service to close the connection when the last line of input has been processed, e.g. ending with ``quit'' when probing SMTP on port 25. By default telnet-probe will not produce any output, unless there is an error in which case a diagnostic message can be displayed (in ver- bose mode only) and the exit status will be non-zero indicating a failure. PCP ENVIRONMENT
Environment variables with the prefix PCP_ are used to parameterize the file and directory names used by PCP. On each installation, the file /etc/pcp.conf contains the local values for these variables. The $PCP_CONF variable may be used to specify an alternative configura- tion file, as described in pcp.conf(5). DIAGNOSTICS
If telnet-probe succeeds, then 0 will be returned. If the attempt to establish a connection fails or is terminated, then a non-zero exit status is returned. SEE ALSO
PCPintro(1), pmdashping(1), pmie(1), telnet(1), connect(2), read(2) and write(2). Performance Co-Pilot PCP TELNET-PROBE(1)
All times are GMT -4. The time now is 06:50 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy