【问题标题】:'Waiting for SSH to be available' during creation of a generic docker machine with amazon aws在使用亚马逊 aws 创建通用 docker 机器期间“等待 SSH 可用”
【发布时间】:2018-10-24 20:03:23
【问题描述】:

我正在尝试将 docker-machine 与托管在 amazon aws 上的 docker 实例一起使用。

我运行以下命令:

$ sudo docker-machine create --driver generic --generic-ip-address={EC2 IP} --generic-ssh-key ~/.ssh/id_rsa dockeraws
Running pre-create checks...
Creating machine...
(dockering) Importing SSH key...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Error creating machine: Error detecting OS: Too many retries waiting for SSH to be available.  Last error: Maximum number of retries (60) exceeded

但它停留在“等待 SSH 可用...”上,我不知道为什么。

我还打开了端口“22”和“2376”,但仍然无法正常工作。

就我而言,我使用的是此处 docker 页面上所述的模板 -> https://docs.docker.com/docker-for-aws/

【问题讨论】:

  • 你能手动ssh吗? ssh -i ~/.ssh/id_rsa ${EC2_USER}@${EC2_IP}?需要通过--generic-ssh-user吗?
  • @leodotcloud 发现手动也行不通。对于 ssh 访问,我使用的是 '.pem' 文件而不是 '~/.ssh/id_rsa' 但是如果我将 pem 文件添加到命令中,它会自动在文件末尾添加一个 .pub ,因此 cli 可以找不到文件,因为它只是“.pem”而不是“.pem.pub”。
  • 语法:ssh -i ~/.ssh/some-private-key.pem ${EC2_USER}@${EC2_IP} 如果从命令行执行,则不应将 pub 附加到密钥名称。你能仔细检查一下私钥文件确实是在适当的权限下正确命名的吗?
  • @Const 没有与 ssh 的连接。如果我将 pem 文件添加到“docker-machine create”命令中,它会添加一个“.pub”结尾。
  • 我只有在创建 docker 实例后从 aws 下载的 pem 文件..

标签: amazon-web-services docker amazon-ec2 docker-machine


【解决方案1】:

生成一个 ssh 密钥(如果你没有):

 ssh-keygen

然后使用 ssh-copy-id 在服务器中安装您的公钥:

 ssh-copy-id user@remote-server

其中用户是您的远程用户,远程服务器是您的服务器 IP/URL。

【讨论】:

  • 请清楚阅读问题和现有的cmets。你的答案完全错误。
【解决方案2】:

尝试将您的机器 IP 地址添加到允许的主机到您的 ec2 实例使用的安全组。这为我解决了这个问题。

【讨论】:

    猜你喜欢
    • 2014-10-15
    • 2015-02-24
    • 2017-03-06
    • 2021-01-09
    • 2014-03-08
    • 1970-01-01
    • 1970-01-01
    • 2017-03-03
    • 1970-01-01
    相关资源
    最近更新 更多