简述 git 中配置使用 ssh 协议的流程

Git 项目托管一般都支持两种协议:https 和 ssh,使用 ssh 协议的话需要在机器上进行简单的配置

step 1

配置 Git 的 user name 和 email:(如果之前没设置)

# you name
$ git config --global user.name "xxxx"
# you email
$ git config --global user.email "xx@xx.com"

配置完成, 可以查看配置信息

# 查看当前用户(global)配置
$ git config --global --list
# 查看系统config
$ git config --system --list
# 查看当前仓库配置信息
$ git config --local --list

step 2

使用 ssh-keygen 生成密钥

$ ssh-keygen -t rsa -C "xx@xx.com"

参数简介

参数 描述
-t 指定密钥类型,可选 rsa、rsa1、dsa,默认为 rsa
-C 提供一个注释,比如邮箱
-f 指定密钥文件名,一般省略该参数,保持默认

执行上面的命令以后,屏幕上会提示如下内容:

Generating public/private rsa key pair. 
Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter] 

推荐默认就好(直接按回车),当然也可以用 -f 命令指定文件名,像下面这样:

$ ssh-keygen -t rsa -C "xx@xx.com" -f "file_name"

接着又会提示输入两次密码(该密码是 push 文件的时候要输入的密码,而不是 github 管理者的密码)

Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 

当然,也可以不输入密码,直接按回车,这样就不用每次 push 的时候输入密码了

最后是一些密钥生成成功的提示,密钥生成完毕后,可以使用下面的命令查看一下生成的两个文件:

$ cd ~/.ssh
$ ls
# id_rsa id_rsa.pub

step 3

将 id_rsa.pub 文件中的内容复制粘贴到仓库对应的地方。由于不同的 Git 服务器,在界面添加的区域不一样,所以不做详述。附上查看文件内容的命令:

$ cat ~/.ssh/id_rsa.pub

step4

查看当前 remote url

$ git remote -v
# origin https://gitlab-someaccount.net/frontend/someproject.git (fetch)
# origin https://gitlab-someaccount.net/frontend/someproject.git (push)

修改当前 remote url

git remote set-url origin git@github.com:someaccount/someproject.git
除特殊说明外本人博客均属原创,转载请注明出处:http://blog.johnhan.cn/blog_1087.html
京ICP备19044523号-1