12

ファブリックを使用して Windows Azure インスタンスに接続しようとしていますが、コマンドを実行するように ssh 接続を構成しているにもかかわらず、ファブリックがパスワードを要求し続けます。

これは私の生地ファイルです:

def azure1():
    env.hosts = ['host.cloudapp.net:60770']
    env.user = 'adminuser'
    env.key_filename = './azure.key'

def what_is_my_name():
    run('whoami')

私はそれを次のように実行します:

fab -f fabfile.py azure1  what_is_my_name

また

fab -k -f fabfile.py -i azure.key -H adminuser@host.cloudapp.net:60770 -p password what_is_my_name

しかし、何も機能しませんでした。正しく入力したにもかかわらず、ユーザーパスワードを要求し続けます。

Executing task 'what_is_my_name'
run: whoami
Login password for 'adminuser': 
Login password for 'adminuser': 
Login password for 'adminuser': 
Login password for 'adminuser': 

ssh で直接接続しようとすると、問題なく動作します。

ssh -i azure.key -p 60770 adminuser@host.cloudapp.net

他の質問 ( q1 q2 q3 )で与えられたアドバイスを試しましたが、何も機能しません。

私が間違っていることは何ですか?

ありがとうございました

4

2 に答える 2

7

ファブリックの ssh 接続をデバッグするには、次の行を fabfile に追加します。

import paramiko, os
paramiko.common.logging.basicConfig(level=paramiko.common.DEBUG) 

これにより、paramiko のすべてのデバッグ メッセージが出力されます。Paramiko は fabric が使用する ssh ライブラリです。

Fabric 1.4 以降、 ssh config を使用して具体的に有効にする必要があることに注意してください。

env.use_ssh_config = True

(注:私のfabfileがこのオプションなしで Fabric > 1.5 で動作していたことは間違いありませんが、1.10 にアップグレードした今はそうではありません)。

于 2015-02-07T12:17:52.540 に答える