Python Paramiko between Linux and Windows Server -- no output obtained from Windows for "dir" or "cd" commands

Pythonista kukki.kanchana at gmail.com
Sun May 31 16:12:24 EDT 2015


On Sunday, May 31, 2015 at 5:18:53 AM UTC-7, Peter Otten wrote:
> Pythonista wrote:
> 
> > Hello There:
> > 
> > I am using Python 2.7.6 and Paramiko module (on a Linux server) to connect
> > to a Windows server and send some commands and get output. I have a
> > connect function which takes IP, username and password of the remote
> > Windows server and I get an sshobj when that happens. How do I use it to
> > send remote calls is my question?
> > 
> > If it were a local system, I would just say "os.system" but not sure about
> > the remote calls. Can someone help?
> > 
> > My code looks like below: sys.path.append("/home/me/code")
> > 
> > import libs.ssh_connect as ssh
> > ssh_obj = ssh.new_conn(IP, username, password)
> > 
> > stdin, stdout, stderr = ssh_obj.exec_command("dir") #since the remote   
> > system I am SSHing into is Windows.
> > 
> > my "new_conn" looks like this:
> > 
> > import paramiko
> > def new_conn(IP, username, password):
> >     ssh_obj = paramiko.SSHClient()
> >     ssh_conn.set_missing_host_key_policy(paramiko.AutoAddPolicy())
> >     ssh_conn.connect(IP, username, password), timeout=30)
> >     return ssh_obj
> > 
> >  
> > if I replaced "dir" with "ipconfig" it works fine. I wonder how I can make
> > "dir" work - or for that matter.. with "cd /path/to/dir"?
> 
> 
> dir is an internal command of the windows shell. Try
> 
> ssh_obj.exec_command("cmd /c dir")
> 
> This will execute the dir command and then close the shell.
> 
> cd is also internal, but I don't think it makes sense to invoke it and then 
> close the shell...
> 
> 
> > I know for paramiko's ssh connection to work, i need cygwin installed on a
> > Windows. Objective is to run commands remotely from a Linux to a Windows
> > server and then process the output again on Linux server or on Windows
> > itself.
> > 
> > I am confused because, "ipconfig" sent from Linux to Windows using
> > "ssh_obj.exec_command("ipconfig")" works but not
> > "ssh_obj.exec_command("dir")" - tried giving the path like "cd
> > C:\Users\Administrator" for cmd or "cd C:" followed by "cd
> > Users/Administrator" like in Cygwin. Neither of them work.

Thanks Peter but I got no output from your suggestion either.!



More information about the Python-list mailing list