配置密钥
假如需要在本机配置多个 Git 账户(比如 GitHub 和 CODING等等 ),那么在 C:\Users\用户名\.ssh 目录下将要生成多份密钥文件。
生成 GitHub 密钥
打开 git bash,生成 SSH Key
1
ssh-keygen -t rsa -C 邮箱地址 -f id_rsa.github
执行命令后会两次提示输入密码,可直接回车即可。生成成功会提示:“Your identification has been saved in id_rsa.github.”,在当前目录会出现两个文件:
id_rsa.github和id_rsa.github.pub,前面是私钥,后面是公钥。-C: 填写GitHub邮箱或者用户名
-f:可以随意设置文件名,自己能区分就行
将生成的两个文件移动到
C:\Users\用户名\.ssh目录。如果没有 .ssh 目录,则新建一个。将本机生成的公钥添加到 GitHub 账号
登录 GitHub 网站,进入Settings*>SSH and GPG keys*,点击 New SSH key,Title随便写,Key 里面将以上生成的
id_rsa.github.pub内容全部复制粘贴过来,点击 Add SSH key 即可。测试本机和 GitHub 是否连接成功,执行命令:
1
ssh -T git@github.com -i ~/.ssh/id_rsa_github
连接成功则提示:
Hi 用户名! You’ve successfully authenticated, but GitHub does not provide shell access.
生成 CODING 密钥
打开 git bash,生成 SSH Key
1
ssh-keygen -t rsa -C 邮箱地址 -f id_rsa.coding
这里的邮箱地址填写 CODING 账号邮箱,文件名需要更改为不同于上面的 GitHub 的用户名,其它事项同上。
将本机生成的公钥添加到 CODING 账号
登录 CODING网站,进入个人账户设置->SSH公钥,点击新增公钥,公钥名称随便,公钥内容将以上生成的
id_rsa.coding.pub内容全部复制粘贴过来,点击 确认即可。测试本机 CODING 是否连接成功,执行命令:
ssh -T git@e.coding.net -i ~/.ssh/id_rsa_coding
如果需要配置更多的 Git 账号,步骤同上。
配置 CONFIG 文件
在 C:\Users\用户名\.ssh 目录新建一个 config 文件,两种方法:
在Windows资源管理器中新建一个 txt 文本,然后将名字改成 config(去掉 .txt 后缀)
在 git bash 下,执行命令:
touch config即可创建一个 config 文件config文件内容:1
2
3
4
5Host # 主机别名,随意取
HostName # 服务器真实地址
IdentityFile # 私钥文件路径
PreferredAuthentications # 认证方式,可设置publickey,password publickey,keyboard-interactive等
User # 使用用户名比如以上添加的 SSH key 配置
1
2
3
4
5
6
7
8Host github.com
HostName github.com
IdentityFile ~/.ssh/id_rsa.github
User MyUserName
Host e.coding.net
IdentityFile ~/.ssh/id_rsa.coding
User myName@gmail.com
每个 git 账号单独配置一个 Host,比如 Host 名字配置为 MyGit,执行 git clone 命令操作:
git clone git@MyGit:用户名/repo.git配置好 Host 别名后如果要测试连接是否成功,可执行:
ssh -T git@MyGit
本机配置多个 Github 账号
生成密钥方式同上
1
ssh-keygen -t rsa -C 邮箱地址 -f id_rsa_work.github
公钥添加到 Github 账号
config文件配置1
2
3
4
5
6
7
8
9Host github.com
HostName github.com
IdentityFile ~/.ssh/id_rsa.github
User zerow
Host github.com-work
HostName github.com
IdentityFile ~/.ssh/id_rsa_work.github
User githubworkname测试
1
2ssh -T git@github.com-work
# 成功会看到: Hi your_work_username! You've successfully authenticated...使用
克隆仓库:从GitHub复制SSH地址(如
git@github.com:company/project.git),你需要将地址中的github.com替换为你在config文件中定义的Host别名。例如,工作项目应改为git clone git@github.com-work:company/project.git。已有本地仓库:在项目目录下,修改远程仓库地址 :
1
git remote set-url origin git@github.com-work:company/project.git
设置提交信息:进入项目目录,为这个仓库单独设置用户名和邮箱,确保提交记录对应的是正确的账号 。
1
2
3cd your-project
git config user.name "Your Work Name"
git config user.email "work@company.com"



