github多账户配置

目前是用两台电脑写东西,一个是window的系统,一个是mac os。我在windows上配的github ssh提交代码的方式。最近又需要在mac os上提交一个项目的代码。想着把windows系统上的密钥拷贝到mac os上再配置一次。具体方式操作如下:

1、首先在windows上系统拷贝密钥到macos上

密钥的存放路径为:C:\Users\Administrator\.ssh     (我用的Administrator账户登陆的系统),找到密钥 id_rsa文件,改名,我这里改名为id_rsa_github。

2、拷贝到macos 系统的路径为:/Users/logan/.ssh   (logan为我的用户登陆名)

3、执行如下命令:

➜  .ssh ssh-add id_rsa_github  
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for 'id_rsa_github' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
➜  .ssh chmod 700 id_rsa_github
➜  .ssh ssh-add id_rsa_github  
Identity added: id_rsa_github (id_rsa_github)
➜  .ssh ssh-add -l
4096 SHA256:OrErliPRYXLJV8N+zQlMH2Q3p2NcLn87Q540qJ120PQ id_rsa_github (RSA)

    注意:出现的提示为:

Permissions 0777 for 'id_rsa_github' are too open.
是因为ssh文件夹中的文件是有默认权限属性的,拷贝时修改了权限属性。需要修改为700.

4、创建配置文件 touch config,添加如下信息:

➜  .ssh touch config
➜  .ssh vi config
# first.github (first@gmail.com)
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_github

# second (second@gmail.com)
Host github-second
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_second

5、执行完上面操作可,可以通过ssh-add -l 查看是否添加成功

然后就可以执行github push操作

另外说一下这里面的原理:

github使用SSH与客户端连接。如果是单用户(first),生成密钥对后,将公钥保存至github,每次连接时SSH客户端发送本地私钥(默认~/.ssh/id_rsa)到服务端验证。单用户情况下,连接的服务器上保存的公钥和发送的私钥自然是配对的。但是如果是多用户(first,second),我们在连接到second的帐号时,second保存的是自己的公钥,但是SSH客户端依然发送默认私钥,即first的私钥,那么这个验证自然无法通过。然后就有了我们上面的操作。


参考链接:https://blog.csdn.net/lanjianhun/article/details/70472536

https://www.cnblogs.com/fanyong/p/3962455.html

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部