有时候需要在一台电脑使用多个git平台(Gitee、GitHub、Gitlab...)或者一个平台多个不同账号,比如想同时配置公司git和个人的git,提交代码时提交到对应的平台/账号的代码仓库且互不影响。这时候需要配置不同的SSH key。
~/.ssh
目录下。 进入该目录并列出其中内容,你便可以快速确认自己是否已拥有密钥:$ cd ~/.ssh $ ls authorized_keys2 id_dsa known_hosts config id_dsa.pub
id_dsa
或 id_rsa
命名的文件,其中一个带有 .pub
扩展名。 .pub
文件是你的公钥,另一个则是与之对应的私钥。 如果找不到这样的文件(或者根本没有 .ssh
目录),你可以通过运行 ssh-keygen
程序来创建它们。$ ssh-keygen -t rsa -C "xxx@xxx.com" -f ~/.ssh/id_rsa_github
-t 指定密钥类型,默认是 rsa ,可以省略。
-C 设置密钥注释,如邮箱。
-f 设置密钥文件的文件名。
注意:如果多次生成私钥公钥则需要重新命名,否则会覆盖之前的同名密钥文件。
.pub
文件内容全选复制粘贴到文本框里~/.ssh
目录下,如果没有config文件可以通过 touch ~/.ssh/config
指令创建config文件,如果有则直接编辑这个文件:$ touch ~/.ssh/config
~/.ssh/id_rsa_lpk_github
密钥进行验证,gitee会使用 ~/.ssh/id_rsa_lpk_gitee
密钥进行验证。# github Host github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_lpk_github User lpk # gitee Host gitee.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_lpk_gitee User lpk
文件参数:
Host
:主机名User
:指定登录的用户名,默认为gitHostName
:指定要登录的真实主机名PreferredAuthentications
:指定客户端尝试身份验证方法的顺序IdentityFile
:指定使用的密钥文件
其他参数配置详见 点击这里
$ ssh -T git@github.com
至此,配置完毕,可以提交代码到不同平台了 😎