github设置ssh

以下命令在git里运行

设置Git的user name和email:(如果是第一次的话)

1
2
git config --global user.name "nxxxx"
git config --global user.email "txxxx@gmail.com"

检查是否已经有SSH Key。

1
cd ~/.ssh

接着输入ls

1
ls

列出该文件下的文件,看是否存在 id_isa 和 id_isa.pub 文件(也可以是别的文件名,只要 yourName 和 yourName.pub 承兑存在),如果存在的话,证明已经存在 ssh key了,可以直接跳过 生成密钥 这一步骤,

下图是存在的情况下

新生成密钥

1
ssh-keygen -t rsa -C "txxxx@gmail.com.com"

连续3个回车。如果不需要密码的话。
最后得到了两个文件:id_rsa和id_rsa.pub。

默认的存储路径是:

1
C:\Users\Administrator\.ssh

添加密钥到ssh-agent

确保 ssh-agent 是可用的。ssh-agent是一种控制用来保存公钥身份验证所使用的私钥的程序,其实ssh-agent就是一个密钥管理器,运行ssh-agent以后,使用ssh-add将私钥交给ssh-agent保管,其他程序需要身份验证的时候可以将验证申请交给ssh-agent来完成整个认证过程。

1
eval "$(ssh-agent -s)"

添加生成的 SSH key 到 ssh-agent。

1
ssh-add ~/.ssh/id_rsa

登陆Github, 添加 ssh 。

把id_rsa.pub文件里的内容复制到这里

测试:

1
ssh -T git@github.com

你将会看到:

Hi xxxxx! You’ve successfully authenticated, but GitHub does not provide shell access.

如果看到Hi后面是你的用户名,就说明成功了。

github上传ssh-key后仍须输入密码的问题

这种事情通常发生在更换机器后克隆自己仓库的时候,通常我们会使用https方式克隆

git clone https://github.com/Name/project.git

这样便会在你git push时候要求输入用户名和密码
解决的方法是使用ssh方式克隆仓库

git clone git@github.com:Name/project.git

当如,如果你已经用https方式克隆了仓库,就不必删除仓库重新克隆,只需将 .git/config文件中的
url = https://github.com/Name/project.git
一行改为
url = git@github.com:Name/project.git
即可。


END