65.9K
CodeProject 正在变化。 阅读更多。
Home

GitHub RSA 密钥对生成问题

starIconstarIconstarIconemptyStarIconemptyStarIcon

3.00/5 (1投票)

2011 年 2 月 25 日

CPOL

3分钟阅读

viewsIcon

12075

GitHub RSA 密钥对生成问题

最近,我在为 GitHub 创建 RSA 密钥对时遇到了一些问题,这是在提交或推送代码到在线仓库之前所必需的。我下载了 Rails 安装包(从这里),并开始尝试我的第一个 Ruby 和 Rails 项目。为了将代码推送到 GitHub 的开放仓库,需要创建 RSA 密钥对,如 帮助页面 中所述。这是必要的,因为 GitHub 使用 SSH 进行本地机器与仓库之间文件的传输。

我已经成功创建了 RSA 公钥和私钥,但在测试与 GitHub 仓库的连接是否有效时遇到了问题,因为 GitHub 无法识别我本地机器中密钥的正确位置。长话短说,以下描述了应该执行的操作,以避免我经历的麻烦。

在安装 Rails 安装包时,Git 也与 Ruby、Rails 框架和 sqlite 一起安装。在安装后导航到 RailsInstaller 文件夹,您会在 Git 文件夹内找到 bin 文件夹(/RailsInstaller/Git/Bin/),其中包含创建 RSA 密钥对所需的工具。您必须将 Git 的 bin 位置包含在 PATH 环境变量中(如果未在安装期间自动配置),以便可以从命令提示符中轻松访问该工具集。此外,如果缺少 ‘home’ 系统变量,您将需要创建一个值为 ‘C:\’ 的 ‘home’ 键。

设置环境变量后,我在 C 驱动器中创建了一个名为 “.ssh” 的文件夹,GitHub 将在此处查找公钥。准备好文件夹后,我使用 ‘ssh-keygen’ 命令创建了密钥对。您必须将创建的 .ssh 文件夹作为位置(注意 UNIX 样式的文件夹位置指定器),并将 id_rsa 作为密钥(文件)名称。这将会在 .ssh 文件夹内创建一个私钥 (id_rsa) 和一个公钥 (id_rsa.pub)。此外,输入一个好的密码短语,或直接按 Enter 键以使用空密码短语(尽管建议输入一个)。

如果您导航到创建的 .ssh 文件夹,您将看到创建的两个密钥,id_rsaid_rsa.pub。下一步是将公钥添加到您的 GitHub 帐户。在这里,您需要用文本编辑器打开 id_rsa.pub 文件,复制不带任何空格或换行符的内容,并按照 此页面 中“将密钥添加到您的 GitHub 帐户”部分所述的方式粘贴内容。

为了测试一切是否正常,您可以使用 ‘ssh’ 命令,输入 ‘ssh git@github.com’(如 GitHub 帮助页面所述),以查看是否可以正确连接。当提示您是否要继续连接时,输入 yes,应该显示“成功认证”消息。

上述消息表示 GitHub 正确识别了您的公钥,您可以使用 Git 从本地仓库将代码推送到 GitHub。请注意,如果 ‘home’ 系统变量不存在或不包含值 ‘C:\’,则上述步骤都将无法正常工作,以便指示 GitHub 用于搜索 .ssh 目录的主目录。既然我与 GitHub 的关系稳定且安全,我的下一个冒险将是在 heroku 上部署 Rails 应用程序,这很可能成为一篇未来的博文。这是我第一次尝试 Ruby(以及 Rails、Git 和 sqlite),我可以放心地说,“到目前为止,一切都很好”。

© . All rights reserved.