[paramiko] remote command info

2010-01-26 Thread stefano landucci
Hi,

I'm a paramiko's newbie. I started with a simple ssh connection and command
execution like below:

import sys
import paramiko

client = paramiko.SSHClient()
client.load_system_host_keys()
ip = 'ip_server'
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

client.connect(ip,port=22,  username='my_user',password='**')


i, o, e = client.exec_command('ls -la')

print o.read()

client.close()

I don't understand the steps to exec multiple commands, like the example
below.
Es: if I exec before  "cd /etc" command and after few time I want to exec a
"ls" command. What I do?

Sorry for my base English.

Regards.

B_and_s
___
paramiko mailing list
paramiko@lag.net
http://www.lag.net/cgi-bin/mailman/listinfo/paramiko

Re: [paramiko] remote command info

2010-01-27 Thread stefano landucci
2010/1/27 james bardin 

> The short answer is, you don't.
> Run your commands separately with exec_command(), and remove their
> dependencies on one another, and you will be much happier.
>
>
Ok.

I find the example below:

i, o, e = client.exec_command('cd /etc')

i.write('ls\n')
i.flush()

I test it, but don't work.
Waht do you think about it?

You can get an interactive shell with invoke_shell(), but then you
> have to script being "interactive"
>

I use it, but i don't like.

Thank's jim.
___
paramiko mailing list
paramiko@lag.net
http://www.lag.net/cgi-bin/mailman/listinfo/paramiko

Re: [paramiko] remote command info

2010-01-27 Thread stefano landucci
2010/1/27 Roman Yakovenko 

>
> In Linux, there are few commands that have an option to change working
> directory. For example "tar" has "--directory" option that will change
> pwd for that process. May be you the commands you need to use have
> such option too.
>
> Another valid option could be to generate a shell script, upload it to
> a temporal directory and execute it.
>

I want use the paramiko library for manage CISCO device (I test the code on
linux machine).
In my first test I wrote:

i, o, e = client.exec_command('command'+'command_1'+'command_2')

but the CISCO devices have a limited buffer and I can't put all command in a
only one time.

I tested that solution:

client.exec_command('cd /etc')
i, o, e = client.exec_command('ls')
print o.read()

but the output is only a ls print of my home directory and not of /etc
directory.

There is a method to implement my issue.
___
paramiko mailing list
paramiko@lag.net
http://www.lag.net/cgi-bin/mailman/listinfo/paramiko