2016-09-18 34 views
0

私は子プロセスを生成し、 'ssh'リモートボックスを実行しています。私は子プロセスを発生させようとしているときはいつも、エラーの下で投げています。何が起こっているのか分からない。pexpect.EOF:ファイルの終わり(EOF)。例外スタイルプラットフォーム

これまではpexpect 3.1を使用していましたが、この問題が発生しました。私は3.2にアップグレードしますが、それでも同じ問題に直面しています。

>>> child = pexpect.spawn('ssh -o StrictHostKeyChecking=no [email protected]') 
>>> child.expect([pexpect.TIMEOUT,'[P|p]assword: ']) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/lib/python2.7/dist-packages/pexpect/__init__.py", line 1418, in expect 
    timeout, searchwindowsize) 
    File "/usr/lib/python2.7/dist-packages/pexpect/__init__.py", line 1433, in expect_list 
    timeout, searchwindowsize) 
    File "/usr/lib/python2.7/dist-packages/pexpect/__init__.py", line 1521, in expect_loop 
    raise EOF(str(err) + '\n' + str(self)) 
pexpect.EOF: End Of File (EOF). Exception style platform. 
<pexpect.spawn object at 0x7fe923a8b710> 
version: 3.2 
command: /usr/bin/ssh 
args: ['/usr/bin/ssh', '-o', 'StrictHostKeyChecking=no', '[email protected]'] 
searcher: <pexpect.searcher_re object at 0x7fe923a8b750> 
buffer (last 100 chars): '' 
before (last 100 chars): 'AL PROSECUTION.\r\nPermission denied (publickey,gssapi-keyex,gssapi-with-mic,keyboard-interactive).\r\r\n' 
after: <class 'pexpect.EOF'> 
match: None 
match_index: None 
exitstatus: 255 
flag_eof: True 
pid: 2202 
child_fd: 3 
closed: False 
timeout: 30 
delimiter: <class 'pexpect.EOF'> 
logfile: None 
logfile_read: None 
logfile_send: None 
maxread: 2000 
ignorecase: False 
searchwindowsize: None 
delaybeforesend: 0.05 
delayafterclose: 0.1 
delayafterterminate: 0.1 

答えて

1

エラーは実際にはsshコマンドの実行中です。あなたが接続するSSHキーを必要とするように思える:

before (last 100 chars): 'AL PROSECUTION.\r\nPermission denied (publickey,gssapi-keyex,gssapi-with-mic,keyboard-interactive).\r\r\n' 

この問題は、手動でssh -o StrictHostKeyChecking=no [email protected]を実行しているとsshキーの問題を修正されて解決する最も簡単な方法。

+0

Expect [pexpect.TIMEOUT、 '[P | p] assword:']が、pexpect.EOFを取得しました。 – Sam

関連する問題