如果你常在未设置 SSH 密钥的情况下使用 GitHub,那么你真的不该这么做。试想一下——你每次提交时都要在控制台上输入电子邮件地址和密码,在这方面花的时间不如用来编程。
本文介绍使用 GitHub 生成和配置 SSH 密钥的快速指南。以后你不用再用老式验证方法了。
检查已有的 SSH 密钥
首先,检查你是否已经为计算机生成了 SSH 密钥。打开终端并输入以下命令:
ls -al ~/.ssh
如果你已经生成了 SSH 密钥,则应该看到类似于以下的输出:
-rw------- 1 user_name user_name 1766 Jul 7 2018 id_rsa
-rw-r--r-- 1 user_name user_name 414 Jul 7 2018 id_rsa.pub
-rw------- 1 user_name user_name 12892 Feb 5 18:39 known_hosts
如果密钥已经存在,请跳至下面的复制你的公共 SSH 密钥部分。
如果你没有看到任何输出或该目录不存在(你收到 没有此类文件或目录
的消息),请运行:
mkdir $HOME/.ssh
然后用以下代码产生一组新的密钥:
ssh-keygen -t rsa -b 4096 -C your@email.com
现在,使用 ls -al ~/.ssh
命令检查你的密钥是否存在,并确保输出与上面列出的相似。
注意:SSH 密钥始终包含一对公共(id_rsa.pub
)和私有(id_rsa
)密钥生成。切勿泄露私钥,仅将公钥用于 GitHub 身份验证之类,这一点非常重要。你可以在此处详细了解 SSH/RSA 密钥对。
添加 SSH 密钥至 ssh-agent
当你登录并存储私钥时会启动 ssh-agent
这个程序。为了使其正常工作,它需要运行并保存你的私钥副本。
首先运行以下代码:
eval "$(ssh-agent -s)" # for Mac and Linux
或者:
eval `ssh-agent -s`
ssh-agent -s # for Windows
然后,给 ssh-agent
添加私钥:
ssh-add ~/.ssh/id_rsa
复制公共 SSH 密钥
接下来,你需要将公共 SSH 密钥复制到剪贴板。
对于 Linux 或 Mac,使用以下命令将公用密钥的内容打印到控制台:
cat ~/.ssh/id_rsa.pub # Linux
然后复制输出。
对于 Windows,只需要运行:
clip < ~/.ssh/id_rsa.pub # Windows
将公共 SSH 密钥添加到 GitHub
在 GitHub 设置页面点击 “New SSH key” 按钮:
给你的密钥起一个易于识别的名称,粘贴到公共密钥(id_rsa.pub
)里:

最后,运行以下代码测试身份验证:
ssh -T git@github.com
如果你正确执行了所有这些步骤,那么你会看到以下消息:
Hi your_user_name! You've successfully authenticated, but GitHub does not provide shell access.