设置Fabric SSH,错误:超时

刻板的

我是Fabric的新手,所以这可能是一个简单的答案,由于搜索术语不正确,所以我错过了它。

我正在尝试在AWS中启动新的ubuntu EC2实例,然后使用Fabric连接到它并让它执行几个命令。但是,似乎Fabric的SSH连接有问题,也许我在定义一些env变量错误?

@task    //starts new EC2 instance and sets env variables
def prep_deploy():
    //code to start new EC2 instance, named buildhost
    env.hosts=[buildhost.public_dns_name]
    env.user = "ubuntu"
    env.key_filename = ".../keypair.pem"
    env.port = 22

@task
def deploy():
    run("echo $HOME")  //code fails here
    ....

我运行fab prep_deploy deploy,因为我读到您需要一个新任务,新环境变量才能生效。我懂了Fatal error: Timed out trying to connect to ...amazonaws.com (tried 1 time) Underlying exception: timed out

实例的安全组对SSH开放:我可以通过Putty连接。实际上,如果我在deploy()开始时清空`env.host_string'变量,当它提示我手动输入主机时,我可以在“ ubuntu @ ... amazonaws.com:22”中写上主机名与任务开始时的输出完全一致,它将连接到实例。但是我无法弄清楚如何操作环境变量,以便它理解主机名。

grag42

使用变量似乎您的结构设置正确。我能够使用您提供的代码连接到我的Ubuntu VM。我想知道您是否遇到连接问题,因为当脚本运行第二个任务时,亚马逊实例未完全启动并无法进行连接。我在其他VM主机上遇到了该问题。我添加了以下代码来检查并再次尝试连接。这可能对您有帮助

import socket
import time

def waitforssh():
    s=socket.socket()
    address=env.host_string
    port=22
    while True:
        time.sleep(5)
        try:
            s.connect((address,port))
            return
        except Exception,e:
            print "failed to connec to %s:%s %(address,port)
            pass

将函数调用插入部署任务中

def deploy():
    waitforssh()

这应该测试连接。如果端口没有响应,它将等待5秒钟,然后重试。那可以解释为什么您第二次尝试连接有效。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

设置Fabric SSH,错误:超时

来自分类Dev

ssh错误:连接超时

来自分类Dev

设置SSH空闲超时Ubuntu 20.04

来自分类Dev

SSH是否为“密码”提示设置超时?

来自分类Dev

设置 SSH 空闲超时 Ubuntu 20.04

来自分类Dev

设置Hyperledger Fabric开发环境时出现路由错误

来自分类Dev

设置Hyperledger Fabric的Dev模式时出现端口错误

来自分类Dev

ssh无密码,已全部设置,但连接超时

来自分类Dev

如何为ssh命令设置超时并获取远程命令的结果

来自分类Dev

Packer超时等待VirtualBox的SSH错误

来自分类Dev

Fabric JS:如何同时为三角形的顶部和左侧位置设置动画?+动画错误

来自分类Dev

Fabric JS:如何同时为三角形的顶部和左侧位置设置动画?+动画错误

来自分类Dev

有没有办法在ssh命令中设置更短的超时时间?

来自分类Dev

Azure DevOps CD管道上的SSH超时错误

来自分类Dev

如果未设置超时,为什么cURL连接失败(没有错误)?

来自分类Dev

错误:找不到合适的服务器(设置了serverSelectionTryOnce):[套接字超时在…上调用ismaster

来自分类Dev

我无法设置异常尝试,除了 OSError 错误:在使用 python3 的 Exscript 中超时

来自分类Dev

如何设置Fabric.js?

来自分类Dev

设置全局CURL超时

来自分类Dev

在MessageBoxManager上设置超时

来自分类Dev

jQuery无法设置超时

来自分类Dev

设置MBProgressHUD超时

来自分类Dev

设置超时时间

来自分类Dev

在AudioInputStream上设置超时

来自分类Dev

从NamedParameterJdbcTemplate设置查询超时

来自分类Dev

如何设置会话超时?

来自分类Dev

使用WebClient设置超时

来自分类Dev

设置DLL使用的超时

来自分类Dev

Mongoid如何设置超时

Related 相关文章

热门标签

归档