KSH, coprocess and SSH


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting KSH, coprocess and SSH
# 1  
Old 05-25-2009
KSH, coprocess and SSH

Hi there,


I want to connect to a Cisco router with a KSH script via coprocess:

telnet 192.168.2.82|&
print -p “login”
print -p "password"


With telnet it works. Now I want to use SSH:

ssh -T -l login 192.168.2.82|&
print -p "password"


The router answer me I enter a bad password, "Permission denied, please try again.". I begin to find some informations about this problem, that SSH haven't got the good stdin but I did not understand.

Thanks
Sylvain
# 2  
Old 05-25-2009
A coroutine (two-way pipe) seems to be overkill, since you are not waiting for the remote user/password prompt.
To do such a simple thing a here-document is enough:
Code:
ssh ... << EOT
password
EOT

The problem could be that you send the password too early.
If you are willing to wait for a password prompt then you need a two-way pipe and have to read -p before print -p.
# 3  
Old 05-25-2009
Yeap,

I have think about this so I put a "sleep 5" but it change nothing.

So I try to put a read like you said but same result it still don't work:

Code:
ssh -T -l login 192.168.2.82|&
sleep 5
read  -p ""
print -p "password"

The router still say me the password is not good.

Last edited by sylvainkalache; 05-26-2009 at 02:37 AM..
# 4  
Old 05-26-2009
Sorry may be I haven't understand about EOT. It's just for explanation or I can resolve my problem by using this in my script?

Thanks
# 5  
Old 05-26-2009
Quote:
Originally Posted by sylvainkalache
about EOT
It's just another way to specify some text to send to the stdandard input.

It seems that ssh actively refuses any input from the standard input if not connected to an interactive terminal.

I'm afraid that perhaps the only way is to authenticate via a private key, and have a remote script start automatically on login.
# 6  
Old 05-26-2009
Quote:
Originally Posted by colemar

I'm afraid that perhaps the only way is to authenticate via a private key, and have a remote script start automatically on login.
Arg! I want to communicate with Cisco router, so this solution is not possible.

I will try to search a little bit more and begin to think about another solution. To resume I want to deploye configuration on Cisco router, my script look like this:


Code:
#!/bin/ksh

send_config ()
{

ssh -l login $ip >> log/lognew |&

sleep 1
print -p "command"
print -p "exit

}


for ip in `cat ip_list`;
do
    send_config &
    sleep 1
done

Have you an idea or advice me to use something...

Thanks again Smilie
# 7  
Old 05-27-2009
After asking my question on several forum and search on Google, nothing good.

I have read something interesting about someone who want to use SSH as a coprocess and who fail with this: girtby.net - The Other Kind of Reentrant

Finally, I think it's not possible to do by this way, because of SSH. After all I have read, SSH seem to be very boring to use in a script.

Like I want to communicate with network equipment like Cisco router, it's not possible tu use the system of public/private key so not possible to avoid the password prompt when I open the SSH sesssion.(Something is possible with expect but if I can not use this it's better)

I want to do massive deploy of configuration on network equipment, about hundred, with Telnet it's ok but with SSH I don't know how I will do?

Idea? :)

Last edited by sylvainkalache; 05-27-2009 at 09:34 AM.. Reason: add a suggestion of solution: expect
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

ksh - keep argument variables after ssh

i have a script that should ssh to different host/server. See below: ./script.ksh var1 var2 var3 case $ser in ser1) depo='appr1' set -A aprrA aprrB ssh ser2 "/home/dir/script.ksh $1 $2 $3" ssh ser3 "/home/dir/script.ksh $1 $2 $3" ssh ser4... (4 Replies)
Discussion started by: erin00
4 Replies

2. Shell Programming and Scripting

Ssh from a ksh returning not found message

Script name is test.ksh I know that that the ssh command is working properly, this can be verified by the value returned in respond variable. It is unique to the remote server _____________________________________________________ respond=$(ssh $remoteHost find... (3 Replies)
Discussion started by: Adagio
3 Replies

3. Shell Programming and Scripting

Help with ssh ksh script

Hi, I am trying to figure out a ksh script that i have and i think i found it but not sure. i am having to scp or sftp files from my remote server over 2 others to the destination. i have the rsa keys setup for the servers on my end and the username and password for the final server. ... (3 Replies)
Discussion started by: ksh_beginner
3 Replies

4. Shell Programming and Scripting

SQL/Plus in a coprocess example. Also saves query results into shell variables

While assisting a forum member, I recommended running SQL/Plus in a coprocess (to make database connections and run a test script) for the duration of his script rather than starting/stopping it once for every row in a file he was processing. I recalled I made a coprocess example for folks at... (2 Replies)
Discussion started by: gary_w
2 Replies

5. Shell Programming and Scripting

Get coprocess output into var

This is probably a simple one for the wise. I have just started using a coprocess (first time) in order to facilitate telnet'ing from inside a shell script. It's working, but when I run a remote command I need to get the output into a local variable, but alas my kung-fu is weak. #!... (10 Replies)
Discussion started by: dan-e
10 Replies

6. Shell Programming and Scripting

ssh commands in ksh question

Is there a way to shorten these commands? because this script asks for a password 3 times scp -p /usr/local/bin/${script_name} ${servername$iy]}://usr/local/bin/ ssh ${servernames} /usr/local/bin/${script_name} ssh ${servernames} rm -f /usr/local/bin/${script_name} Basically, I'm creating a... (3 Replies)
Discussion started by: pdtak
3 Replies

7. Shell Programming and Scripting

awk - coprocess???

Hi can any one let me know if awk doesnt work with the coprocess??? I have tried a simple example mentioned below but couldnt get it working seems like awk doesnt work with the coprocess concept. I would appreciate very much for any inputs on this. exec 4>&1 awk -v count=$COUNT >&4 2>&4 |&... (6 Replies)
Discussion started by: ahmedwaseem2000
6 Replies

8. Shell Programming and Scripting

ssh into a shell script (KSH)

Hi all, Just like to ask if it is possible to do the following: 1. Have a shell script that calls ssh username@destinationhost 2. Upon successful verification, we ssh into the destination host and automatically use ksh to run a shell script that resides in the destination host. (Hopefully no... (8 Replies)
Discussion started by: rockysfr
8 Replies

9. Shell Programming and Scripting

Korn Shell Coprocess Performance Question

I am wracking my brains over this. I am trying to use a Korn Shell script to execute an Oracle PL/SQL procedure, using the Oracle command line interface (sqlplus). The script starts sqlplus in a coprocess, and the two processes communicate using a two-way pipe. The bgnice option is off, so both... (8 Replies)
Discussion started by: Mark Puddephat
8 Replies

10. Shell Programming and Scripting

I/O redirection within a coprocess

Hello everybody, I have a question about I/O redirection within a coprocess. I want to setup a coprocess and then redirect output to a file on a remote machine. Here's some Perderabo code modified exec 4>&1 # # Section 1 --- Prove that we can talk with the hosts in HOSTLIST # ... (4 Replies)
Discussion started by: Mugin
4 Replies
Login or Register to Ask a Question