如何在一个电脑上分别向公司git服务器和自己的github上传代码(两个不同的ssh-key的配置方法)

问题背景

最近有过这样一个需求:因为我工作和学习都是用的一台电脑,在工作中有时候需要在本地向公司的服务器上传提交代码。闲暇自己学习动手写demo时,需要向github上上传代码。这个时候又不想用同一个邮箱和同一套秘钥(我倒这样没试过。应该不可行吧)。于是就自己生成了两份不同的秘钥。以下是配置的方法:

配置方法

  1. 先进入到C:\Users\用户名\.ssh目录下
  2. 先生成用于访问github的密钥对
    ssh-keygen -t -rsa -C ‘你的邮箱’
  3. 在生成访问自己公司的秘钥对(注意重新命名,否则会覆盖掉上面刚生成的秘钥)
    ssh-keygen -t rsa -C ‘你在公司的邮箱’ -f id_rsa_xxx
  4. 分别将生成的两个公钥id_rsa.pub和id_rsa_xxx.pub添加到github中和你公司的gerrit的setting中
  5. (重点来了)在C:\Users\用户名\.ssh下创建config文件,此文件用于配置私钥对应的服务器。
内容如下:
#公司的秘钥配置
Host 公司的git的访问ip
HostName 公司的git的访问ip
Port 公司的git的访问ip端口
PreferredAuthentications publickey
IdentityFile C:\Users\用户名\.ssh\id_rsa_xxx
#github的秘钥配置
Host github.com
HostName ssh.github.com
User 你的邮箱
Port 443
PreferredAuthentications publickey
IdentityFile C:\Users\用户名\.ssh\id_rsa


# 配置文件参数
# Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件,建议最好和HostName一致都为ip
# HostName : 要登录主机的主机名
# User : 登录名即邮箱
# Port  主机名后的端口(github是 443 )
# IdentityFile : 指明上面User对应的identityFile路径

关于以上github的 Port 之前我这是的22,但是不知道为什么不行。然后443就是好的。

然后就是用git命令去测试了,尝试去服务器拉一份代码下来。如果成功的话,则会在.ssh目录下生成known_hosts文件,并将账户信息自动加进去。

猜你喜欢

转载自blog.csdn.net/xct841990555/article/details/80300900