- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在尝试将来自 github.com 的私有(private)存储库 checkout 到我在 EC2 上的开发实例上。
$ git clone git@github.com:Org/Product.git
Initialized empty Git repository in /home/ec2-user/Product/.git/
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
我该怎么做?我也尝试过 SSH 转发,但没有用。
最佳答案
我们需要生成一个 SSH key (两个文件 - 一个您与世界共享的公钥和一个您妥善保管的私钥),我们将与我们的 Git 帐户相关联。这将允许我们在 EC2 实例上克隆我们的 Git 存储库,而无需手动输入您的用户名和密码,或者(更糟糕的是)在使用脚本时将您的密码以明文形式输入。
您可以在本地目录上生成一个 SSH key ,然后复制到您的 EC2 实例。您也可以直接在您的 EC2 实例上执行此操作,但每次在您的新实例上生成 SSH key 对时,您都需要每次都在 GitHub 中注册新 key 。
在您的本地终端中,创建一个 SSH key ,替换您的电子邮件地址。
$ ssh-keygen -t rsa -b 4096 -C [your email address]
将 key 保存到默认目录~/.ssh
输入您选择的密码。
通过转到目录并键入“ls -l id_rsa*”来检查公钥和私钥是否在/.ssh 中。您应该看到两个文件,名为“id_rsa.pub”的公钥和名为“id_rsa”的私钥
在终端中,确保此私钥不可公开查看。
$ chmod 600 ~/.ssh/id_rsa
将您的 SSH 私钥添加到 ssh-agent 并将您的密码存储在钥匙串(keychain)中。
$ ssh-add -k ~/.ssh/id_rsa
转到您的 GitHub 帐户下的设置,然后单击 SSH key 和新建 SSH key
在终端中将您的公钥复制到剪贴板。或者在EC2终端显示:
$ pbcopy < ~/.ssh/id_rsa.pub # copy to clipboard
$ cat ~/.ssh/id_rsa.pub # If you prefer appear on screen
将其粘贴到 GitHub 上的 key 框中,然后单击保存。您的所有 Git 存储库都可以使用此 key 。
有时您需要将公钥移动到“/.ssh/authorized_keys”,以使公钥在 LINUX 中工作。
$ mkdir ~/.ssh # if you don't have /.ssh/ folder
$ chmod 700 ~/.ssh
$ touch ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
关注这篇文章 https://help.github.com/articles/error-permission-denied-publickey/查看 key 是否有效并进行调试。
关于git - EC2 : How to Clone Git Repository,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19596974/
我是一名优秀的程序员,十分优秀!