我不该只是等待,我应该去寻找。
大多数 Git 服务器都会选择使用 SSH 公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。生成公钥的过程在所有操作系统上都差不多。
首先先确认一下是否已经有一个公钥了。SSH 公钥默认储存在账户的主目录下的 ~/.ssh 目录。关键是看有没有用 something 和 something.pub 来命名的一对文件,这个 something 通常就是 id_dsa 或 id_rsa。有 .pub 后缀的文件就是公钥,另一个文件则是密钥。假如没有这些文件,或者干脆连 .ssh 目录都没有,可以用 ssh-keygen 来创建。该程序在 Linux/Mac 系统上由 SSH 包提供,而在 Windows 上则包含在 MSysGit 包里:
|
|
它先要求你确认保存公钥的位置(.ssh/id_rsa),然后它会让你重复一个密码两次,如果不想在使用公钥的时候输入密码,可以留空。
现在,所有做过这一步的用户都得把它们的公钥给你或者 Git 服务器的管理员(假设 SSH 服务被设定为使用公钥机制)。他们只需要复制 .pub 文件的内容然后发邮件给管理员。
下面以github、gitlab为例,生成ssh公钥。
create different ssh key according the article Mac Set-Up Git
Please refer to github ssh issues for common problems.
配置用户名和邮箱
将项目从git仓库检出
git clone git@github.com:test, cd test and modify git config
|
|
生成ssh key
|
|
multi ssh key
开发过程中,可能会使用不同的git仓库,如github、gitlab或者其他云平台,如果每次都覆盖原来的id_rsa,那么之前的认证就会失效。
怎么破? 在~/.ssh目录下增加config文件,生成ssh key时同时指定文件名即可。
|
|
执行后,~/.ssh目录下会生成id_rsa.touker和id_rsa.touker.pub两个文件
配置config文件
|
|
修改~/.ssh/config
Gitlab默认使用git用户
|
|
上传公钥id_rsa.pub
|
|
- github->settings->SSH keys
- gitlab -> My SSH keys
验证是否配置成功
|
|