生成 SSH 公钥
默认情况下,用户的 SSH 密钥存储在其 ~/.ssh 目录下。 进入该目录并列出其中内容,你便可以快速确认自己是否已拥有密钥:
$ cd ~/.ssh
$ ls
authorized_keys2 id_dsa known_hosts
config id_dsa.pub
复制代码
其中一个带有 .pub 扩展名。 .pub 文件是你的公钥,另一个则是与之对应的私钥。
自定义公钥匙名称
由于我们需要生成各个环境(gitlab、github) 的公钥,所以我们要自定义名称
ssh-keygen -f ~/.ssh/customFileName -C "邮箱地址"
// 例如
ssh-keygen -f ~/.ssh/github_rsa -C "my.163.com" // github 密钥公钥
ssh-keygen -f ~/.ssh/gitlab_rsa -C "my.163.com" // gitlab 密钥公钥
复制代码
github、gitlab 添加公钥
将 ~/.ssh/github_rsa 和 ~/.ssh/gitlab_rsa 公钥复制后添加到github和gitlab中。
github
gitlab
根据域名定义使用不同的密钥
我们要有多份密钥管理需要在对应文件夹下新建config 文件 ~/.ssh/config 添加不同域名下使用的密钥
# gitlab
Host 192.168.1.7
HostName 192.168.1.7
User git
IdentityFile ~/.ssh/id_rsa.gitlab
# githab
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/github_rsa
复制代码
git config
Git 自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量。 这些变量存储在三个不同的位置:
- /etc/gitconfig 文件:包含系统上每一个用户及他们仓库的通用配置。
- ~/.gitconfig 或 ~/.config/git/config 文件:只针对当前用户。
- 当前使用仓库的 Git 目录中的 config 文件(即 .git/config):针对该仓库。
我想为电脑上的不同项目设置不同的 git 用户信息配置,在 ~/.gitconfig 中添加配置如下:
[includeIf "gitdir:/Users/huifei/Documents/company/"]
path = .gitconfig-work
[includeIf "gitdir:/Users/huifei/Documents/try/"]
path = .gitconfig-self
复制代码
可以看到,我工作的项目都放在 company 目录下,他们都是连接 gitlab,而 try 目录下都是连接 github 的。我将他们根据路径分别设置了 .gitconfig-work 和 .gitconfig-self 的配置。
# .gitconfig-work
[user]
name = gitlabname
email = youremail
# .gitconfig-self
[user]
name = githuabname
email = youremail
复制代码
参考
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END