【问题标题】:could not read Username for 'https://github.com': No such device or address无法读取“https://github.com”的用户名:没有这样的设备或地址
【发布时间】:2013-09-06 03:26:42
【问题描述】:

我正在使用git 使用此命令构建docker 图像:sudo docker build github.com/roseperrone/myproject,但出现此错误:

could not read Username for 'https://github.com': No such device or address

我应该如何提供我的 git 凭据?

我在 AWS ec2 实例中运行。

【问题讨论】:

    标签: git github docker


    【解决方案1】:

    要理解这个错误,记得有两种方法可以从 Github 签出代码:使用用户名/密码,以及使用 SSH 密钥进行身份验证。

    在 Github UI 中,“克隆或下载”按钮提供了两个选项:使用 SSH 克隆使用 HTTPS。 (如果您已将 SSH 密钥添加到您的 Github 帐户,您可能只会获得这两个选项,我不知道)。使用 https-URL 检出代码需要输入您的用户名和密码以进行身份​​验证。 SSH 选项创建一个 git@github - URL 并且签出不需要用户名和密码。

    我建议您不要将您的 Github 帐户密码保存在 EC2 机器或 Docker 配置中。我也不建议您将个人 id_rsa 文件复制到 EC2 实例上。相反,create a dedicated SSH key 在 Github 上用于此目的。给它一个合适的标签,然后决定是允许推送代码还是仅仅拉取代码。这意味着如果密钥丢失或您停止使用此设置,您可以在以后轻松撤消访问权限。

    关于如何在 Docker 设置中使用生成的 SSH 密钥的更多信息可以在这个问题中找到: Using SSH keys inside docker container

    希望这会有所帮助:)

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,我最近加入了 github,但是这个 bug 让我非常恼火。 我已经修复成功了,

      首先Generate an SSH key并进行身份验证。

      如果以前的远程地址不起作用,请删除它,现在转到您的存储库并复制 ssh 克隆 url。

      现在打开输入以下命令:

      git 远程添加源 git@github.com:username/your-repo.git

      usernameyour-repo 替换为您的用户名和 repo。
      现在尝试推送您的更改,运行以下命令。

      git push origin master

      我希望它对你有用。

      【讨论】:

        【解决方案3】:

        查看代码,似乎没有提供凭据的选项,所以我复制了我的 id_rsa 密钥,运行 git clonecdd 并运行 docker build .

        【讨论】:

          【解决方案4】:

          当 push 尝试强制它时:

          $ git push -u -f origin <name_of_branch>
          

          我知道这有点奇怪,但它对我有用......

          【讨论】:

            【解决方案5】:

            我认为你需要通过命令行设置 git config。

            请参阅 github 设置文档:https://help.github.com/articles/set-up-git#platform-all

            $ git config --global user.name "Your Name Here"
            $ git config --global user.email "your_email@example.com"
            

            等等

            【讨论】:

              【解决方案6】:

              如果其他人遇到此问题并需要帮助,请在您的 Dockerfile 中通过发出以下命令使用您的凭据克隆您的存储库:

              git clone https://{username}:{password}@github.com/{username}/project.git
              

              确保您的密码已编码。

              【讨论】:

              • 虽然这可能有效,但您永远不应该将密码粘贴到随机网站中。
              猜你喜欢
              • 2013-09-24
              • 2013-03-22
              • 2019-06-24
              • 1970-01-01
              • 2017-05-28
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2021-10-23
              相关资源
              最近更新 更多