提示输入密码时出现结构任务错误

发布于 2024-12-09 11:27:56 字数 788 浏览 0 评论 0原文

我遇到了一个似乎无法克服的错误。我有一个简单的结构任务,必须以远程系统上的不同用户身份运行,例如:

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')

如果我使用 env.password 硬编码运行它,它就可以工作。如果我使用 fab -p otherpass update ,它也可以工作。如果我省略它文档说我会收到提示。这是事实,但行不通。每次输入密码后,我都会收到此错误:

> 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 上使用 Fabric 1.2.2。我还尝试了 env.no_keys 选项,但它没有改变任何东西。有人可以帮忙吗?

I'm having an error I can't seem to get past. I have a simple fabric task that must be run as a different user on the remote system, e.g:

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')

If I run this with env.password hardcoded it works. If I use fab -p otherpass update it works too. If I omit it the docs say I will get prompted. This is true, but it doesn't work. Every time after entering the password I get this error:

> 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.

Using fabric 1.2.2 on Ubuntu Natty. I also tried the env.no_keys option but it didn't change anything. Can anyone help?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

倾其所爱 2024-12-16 11:27:56

提示您自己输入密码!

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

getpass 是标准库的一部分,它只是一个 raw_input ,不会回显您输入的内容

Prompt for the password yourself!

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

getpass is part of the standard library, it's just a raw_input that doesn't echo what you type

心如狂蝶 2024-12-16 11:27:56

如果目标内存/磁盘空间不足,也可能会发生这种情况。重新启动和/或解决内存/磁盘空间问题可以解决此问题。

This can also happen if target is out of memory/disk space. Restarting and/or solving memory/disk space problems can solve this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文