Github 配置SSH KEY
0. 前言很多朋友在用 github 管理项目的时候,都是直接使用 https url 克隆到本地,当然也有有些人使用 SSH url 克隆到本地。然而,为什么绝大多数人会使用 https url 克隆呢?这是因为,使用 https url 克隆对初学者来说会比较方便,复制 https url 然后到 git Bash 里面直接用 clone 命令克隆到本地就好了。而使用 SSH url 克隆
0. 前言
很多朋友在用 github
管理项目的时候,都是直接使用 https url
克隆到本地,当然也有有些人使用 SSH url
克隆到本地。然而,为什么绝大多数人会使用 https url
克隆呢?
这是因为,使用 https url 克隆对初学者来说会比较方便,复制 https url 然后到 git Bash 里面直接用 clone 命令克隆到本地就好了。而使用 SSH url 克隆却需要在克隆之前先配置和添加好 SSH key 。
1. https 和 SSH 的区别:
前者可以随意克隆 github 上的项目,而不管是谁的;而后者则是你必须是你要克隆的项目的拥有者或管理员,且需要先添加 SSH key ,否则无法克隆。
https url 在 push 的时候是需要验证用户名和密码的;而 SSH 在 push 的时候,是不需要输入用户名的,如果配置SSH key 的时候设置了密码,则需要输入密码的,否则直接是不需要输入密码的。
2. 在 Github 上添加 SSH key
生成 SSH Key
$ ssh-keygen -t rsa -C "your_email@example.com" 代码参数含义: -t 指定密钥类型,默认是 rsa ,可以省略,还可以指定为 dsa。 -C 设置注释文字,比如邮箱。 -f 指定密钥文件存储文件名。可以省略,使用默认值 id_rsa 和 id_rsa.pub。
接着又会提示你输入两次密码(该密码是你 push 文件的时候要输入的密码,而不是 github 管理者的密码),当然,你也可以不输入密码,直接按回车(推荐)。那么 push 的时候就不需要输入密码,直接提交到 github 上了。
检查是否成功生成 SSH key
$ cd ~/.ssh $ ls -rw------- 1 zhangchengfei zhangchengfei 672 12月 3 08:50 id_rsa -rw-r--r-- 1 zhangchengfei zhangchengfei 610 12月 3 08:50 id_rsa.pub
这两个命令就是检查是否已经存在
id_rsa.pub
或id_dsa.pub
。添加 SSH Key 到 github 上
- 登录你的 github 账号,从右上角的
Account Settings
进入,然后点击左边菜单栏的SSH and GPG keys
,点击New SSH key
将.ssh/id_rsa.pub
的内容拷贝到 key 对应的输入框。Title 可以自己命名,默认的会使用你的邮件名称。
- 登录你的 github 账号,从右上角的
测试 SSH key 是否配置成功
$ ssh -T git@github.com The authenticity of host 'github.com (192.30.252.121)' can't be established. RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48. Are you sure you want to continue connecting (yes/no)?
当你输入上面测试命令后,会有一段警告,输入 yes 回车即可。如果你创建 SSH key 的时候设置了密码,接下来就会提示你输入密码。成功后输出下面一段话:
Warning: Permanently added 'github.com,192.30.252.121' (RSA) to the list of known hosts. Hi linuxcer! You've successfully authenticated, but GitHub does not provide shell access.
3. Github SSH key 使用
3.1 为已经检出的 repos 指定 github 账号:
修改 .git/config
并找到 [remote "origin"]
,修改 url 的值为:
[remote "origin"]
url = git@.github.com:user_name/repos_name.git
设置完成后, 在这个工程目录 git push
会自动免密提交代码。
user_name
是指定 Github 账户名。
3.2 使用账号 clone 已存在的 repos
git clone git@github.com:user_name/repos_name.git,
【完】
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)