[英]winpexpect not behaving like pexpect
我已經有幾天了這個問題,我不知道出了什么問題。
我有一個在OSX上運行的使用pexpect的簡單python腳本,該腳本啟動ssh-keygen並自動按回車鍵以生成密鑰對,並且運行良好。 我想在Windows上做同樣的事情。 為了在Windows上獲得ssh和ssh-keygen,我安裝了Windows的OpenSSH,它使用CYGWIN支持文件的一部分,使cmd提示符下的ssh作為正常的Windows程序從cmd提示符下運行。 我將相同的腳本移植到Windows,並將pexpect更改為winpexpect,並使用響應於核心的winspawn啟動子進程,但是它在第一個提示時停滯了。
def generateKeys(self):
print "GeneratingKeys..."
gen = winpexpect.winspawn("ssh-keygen -t rsa")
print gen.expect(":") #This is where it asks for a place to save the keys. retuns 0 if found
print "before: " + gen.before
print "after: " + gen.after
print gen.sendline()
#Next it should expect a prompt for a passphrase but it never reaches it
print gen.expect(":")
print "before: " + gen.before
print "after: " + gen.after
print gen.sendline()
我得到的輸出是這樣的:
GeneratingKeys...
0
before: Enter file in which to save the key (/home/user/.ssh/id_rsa)
after: :
2
before: Enter file in which to save the key (/home/user/.ssh/id_rsa)
after: :
在這里,它適合所有永恆的數碼塵埃兔子。
我也不明白為什么它在預期的冒號后面也變成“:”。
也許我可以使用另一個模塊,使我與Windows的OpenSSH更好地通信嗎?
這是一個fork項目winpexpect :此版本修復了許多錯誤。 你可以試試看。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.