Paramiko Help. Execute command to Interactive Shell which is opened by SSHClient()

reachparagm at gmail.com reachparagm at gmail.com
Mon Feb 29 21:11:16 EST 2016


Sagar,

Have you worked on RobotFramework-sshlibrary. It seem to have very simple interface for both command processing/execution as well as interactive session to grep responses and decide the flow.

Let me know if you face any issues. Can help you solve.

-paragm

On Thursday, August 8, 2013 at 12:20:25 AM UTC-7, sagar varule wrote:
> Hi All,
> 
> Im using Paramiko for my SSH automation. Im using method that is shown in demo_simple.py example which comes with Paramiko. Below is code from demo_simple.py.
> 
> As you can make out, below code opens SSH connection and opens Interactie Shell, and then wait for the command from user.
> I want to submit the command to this Interactive Shell using code.
> 
> try:
>     client = paramiko.SSHClient()
>     client.load_system_host_keys()
>     client.set_missing_host_key_policy(paramiko.WarningPolicy())
>     print '*** Connecting...'
>     client.connect(hostname, port, username, password)
>     chan = client.invoke_shell()
>     print repr(client.get_transport())
>     print '*** Here we go!'
>     print
>     interactive.interactive_shell(chan)
>     chan.close()
>     client.close()
> 
> Well Another approach I tried is instead of opening interactive_shell, directly issue command using;
> 
>  stdin, stdout, stderr = client.exec_command(bv_cmd)
>             for line in stderr.readlines():
>                 print line
>             for line in stdout.readlines():
>                 print line
> But problem here is client.exec_command(bv_cmd) waits for command to execute completely and then it returns to stdout,stderr. And I want to see the ouput from the command during its execution. Because my command takes long time for execution.
> 
> Big Picture in My Mind: Big Picture I that want to achieve is, Opening different SSH connection to different host, and it will issue commands to all host, wait for execution. All execution should happen parallel.(just wanted to share my thought, and wanted to hear opinions from you all. Is this possible??). I am not big programmer, just 2 years experience with asp.net C# 2.0 so i would appreciate if discussion happens in simple english.



More information about the Python-list mailing list