2011-10-11 4 views
1

エラーが発生しました。私はenv.passwordでこれを実行した場合パスワードを要求するときにファブリックタスクのエラーが発生する

def update(): 
    env.user = 'otheruser' 
    #~ env.password = 'otherpass' # this works, but I don't want it here. 
    with cd(env.sitefolder): 
     run('hg pull -u') 

それが動作するハードコード:私は、リモートシステム上の別のユーザーとして実行する必要があり、単純な生地のタスク、例えばを持っています。私がfab -p otherpass updateを使用すると、それも機能します。私がそれを省略すると、the docsと私はプロンプトが表示されます。これは当てはまりますが、うまくいきません。パスワードを入力するたびにこのエラーが表示されます。

> fab dev update 
[darkstar] Executing task 'update' 
[darkstar] run: hg pull -u 
[darkstar] Login password: 
ERROR:paramiko.transport:Exception: Error reading SSH protocol banner 
... 
Fatal error: Error reading SSH protocol banner 

Aborting. 

Ubuntu Nattyでファブリック1.2.2を使用しています。私もenv.no_keysオプションを試しましたが、何も変更されませんでした。誰も助けることができますか?

答えて

4

自分でパスワードを尋ねるメッセージが表示されます。

def update(): 
    env.user = 'otheruser' 
    env.password = getpass.getpass('Enter password: ') 
    with cd(env.sitefolder): 
     run('hg pull -u') 

getpassそれはあなたがターゲットがメモリ/ディスク領域が不足している場合、これがまた起こることができる

+0

ありがとうございました。私はそのコードを掘り起こす必要があるほど長くなっています。 ;) –

+0

もう一度、コードに戻ってくれてありがとう。ファブリック1.3.2へのアップグレードは役に立たなかった!私はgetpassを追加し、それは最初の試行で働いた。 –

1

を入力し何をエコーし​​ません。ただraw_inputだ、標準ライブラリの一部です。メモリ/ディスクスペースの問題を再開したり解決したりすることでこれを解決できます。

関連する問題