注意事项
- 在开始菜单,需要使用管理员模式打开git bash
- 在linux操作中(比如git)粘贴操作是shift+insert或单击鼠标的滚轮。而复制只要选中即可。(粘贴后修改就很麻烦了,推荐先修改好再粘贴)
生成SSH账号密码
如果你是第一次使用,可以先设置git的user name和email:
git config --global user.name "这里改成你的名字"
git config --global user.email "这里改成你的邮箱"
接下来即可生成ssh密钥:(注意别把$和#注释部分也给复制进去了,只需要复制考虑$后面的部分)
$ ssh-keygen -t rsa -b 4096 -C "这里改成你的邮箱"
# -t 密钥方式设定
# -b 密钥强度设定
# -C 注释设定
# 你会看到出现以下信息:
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/ts/.ssh/id_rsa): /Users/ts/.ssh/id_rsa_github # 此时输入你的密钥用户名(可以是邮箱)
Enter passphrase (empty for no passphrase): #此时输入你的密钥密码
Enter same passphrase again: # 再次输入密码
#以防万一忘记账户密码,你可以记在其他地方
#看到以下信息,便说明你大概率生成成功
Your identification has been saved in id_rsa_github.
Your public key has been saved in id_rsa_github.pub.
接下来需要检查我们是不是真的生成成功:
$ ls -l ~/.ssh
#如果你看到以下信息,就说明已生成成功(没看到config也没关系)
-rw------- 1 ts staff 938 9 15 22:53 config
-rw------- 1 ts staff 3326 11 8 21:52 id_rsa_github #私密密钥
-rw-r--r-- 1 ts staff 757 11 8 21:52 id_rsa_github.pub #公开密钥 注意这个要用记事本模式打开,然后在下一步骤中粘贴
注意,这时候可能找不到密钥,但在文件夹中又看得到rsa密钥文件,此时可以在不同文件夹(可能生成在某个子类文件夹内)右键打开git bash再输入上述命令,直到能出现以上信息为止。【记住此时的文件夹,在第四步还有用】
在github添加SSH key
这一步比较简单,在github中右上角找到settings,找到SSH and GPG keys,再选择New SSH key,把上一个步骤中的公开密钥内信息全部粘贴到key中,Title可以随便写。最后点击Add key即可完成(如果想看图文操作可以参考reference)
最后修改与验证
此时回到第二步末尾中的文件夹,输入以下代码:
$ vim ~/.ssh/config
此时已在命令行格式中进入文件,粘贴以下讯息:
Host github
HostName github.com
IdentityFile ~/.ssh/id_rsa_github #指定私密密钥
User git
粘贴后(此时还在文件中),我们需要按ESC键跳到命令模式,然后输入下列指令:
$ :wq
#冒号是必须的,意思是保存文件并退出vi
最后修正权限:
$ chmod 600 ~/.ssh/config
接下来我们尝试连接,首先确认ssh-agent是否正常运行:
$ eval "$(ssh-agent -s)"
Agent pid 32047
# 出现类似信息则表示正常运行
$ ssh-add ~/.ssh/id_rsa_github
Enter passphrase for /Users/ts/.ssh/id_rsa_github: # 此时输入第二步中设定的密码
Identity added: /Users/ts/.ssh/id_rsa_github (/Users/ts/.ssh/id_rsa_github)
最后进行连接!
$ ssh -T git@github.com
Hi mackerel7! You've successfully authenticated, but GitHub does not provide shell access.
#恭喜你,当出现如上信息则表示你已经成功链接!