Click here to Skip to main content
15,892,643 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi Team,

From our c# application, we are executing python (IronPython Version-2.7, 32-bit) scripts with the help of clrzmq (Version-2.2.5, 32-bit) for inter process communication. From that python scripts we were trying to connect to SSH using paramiko which is of 32-bit (Application runs in Any CPU mode).

We were able to run the python scripts from command prompt and connecting to SSH without any issues, but when we try to run the same from our c# application it is throwing us the following exception.

Traceback (most recent call last):
  File "C:\..\..\..\Sample.py", line 39, in <module>
  File "C:\..\..\...\ Sample1.py", line 674, in __init__
  File "C:\Program Files (x86)\IronPython 2.7\Lib\site-packages\paramiko\client.py", line 242, in connect
  File "C:\Program Files (x86)\IronPython 2.7\Lib\site-packages\paramiko\transport.py", line 346, in start_client
TypeError: expected _counter, got _counterStarting ...

The python code which we have written is as follows:

Python
__Sample.py:__
....
sys.path.append ("C:\\Program Files (x86)\\IronPython 2.7\\Lib") 
....
sys.path.append ("C:\\..\\..\\SampleLibrary")
import Sample1
d = Sample1.d
.....
print 'Initiating Paramiko interface'
print 'Starting ...'
.........
sshSession = Sample1.SampleSSH ('190.167.22.3', 'abc', 'abc')
theResult = sshSession.SSHCommand('...')
print "The result ..."
print theResult

__Sample1.py :__
from array import *
sys.path.append("C:\\Program Files (x86)\\IronPython 2.7\\clrzmq.2.2.5") 
clr.AddReference("clrzmq.dll")

from System.Text import Encoding
import ZMQ as zmq
from ZMQ import SocketType

sys.path.append("C:\Program Files (x86)\IronPython 2.7\Lib\site-packages") 
sys.path.append("C:\Program Files (x86)\IronPython 2.7\DLLs") 
clr.AddReference("IronPyCrypto.dll")
import paramiko
......
class SampleSSH:
  def __init__(self, IP, user, password):
    self.ssh = paramiko.SSHClient()
    self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    self.ssh.connect(IP, username=user, 
        password=password)
    self.retStr=''
    self.sessionBuffer=''
 def SSHCommand( self, Command):
    self.retStr=''
    d.debug( 'SSHCommand: ' + Command )
    stdin,stdout,stderr = self.ssh.exec_command(Command)
    for line in stdout.readlines():
        d.debug( line  )
        self.retStr = self.retStr + line     
    self.sessionBuffer = self.sessionBuffer + 'Command: ' + Command + '\r\n'   
    self.sessionBuffer = self.sessionBuffer + self.retStr + '\r\n'  
    return self.retStr

Could you please suggest us the better approach to be followed to resolve this issue?

Thanks,
Jamini Mungara.
Posted
Updated 29-Aug-14 23:21pm
v2
Comments
Richard MacCutchan 30-Aug-14 5:23am    
Where is the line that causes the error?

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900