Home

韧桂

思考,总结


版权声明:本文为 韧桂 原创文章,可以随意转载,但必须在明确位置注明出处!

一、项目背景

同一电脑使用 SSH 登录同一网站(如 GitHub)下的不同账户(first 和 second)的解决方案:

二、冲突账号一解决方案

first@gmail.com 账号 —> first.github.io 仓库

1.生成 first.github.io 对应的 SSH 密钥。执行下面命令时,一路回车即可,有选择时,填入 yes ,再回车。

$ ssh-keygen -t rsa -C "first@gmail.com"

2.SSH 密钥文件在 .ssh 文件夹中(用户名称文件夹中,可右键选择地址),然后把 PUB 文件输入 GitHub 中。

3.然后实行本地与远端的连接(无远程远点情况使用 add;有远程远点情况使用 set-url)

$ git remote add origin https://github.com/first/first.github.io.git
$ git remote set-url origin git@github.com:first/first.github.io.git   

4.检测连接情况

$ ssh -T git@github.com  

二、冲突账号二解决方案:

second@163.com 账号 —> second.github.io 仓库

1.生成 second.github.io 对应的 SSH 密钥。执行下面命令时,一路回车即可,有选择时,填入 yes,再回车。

$ ssh-keygen -t rsa -f ~/.ssh/id_rsa_second -C "second@163.com" 

2.生成 SSH key 后,再执行命令。

$ ssh-add ~/.ssh/id_rsa_second

3.该命令如果报错:无法打开与身份验证代理的连接(Could not open a connection to your authentication agent)。无法连接到 ssh agent,可执行下边命令后再执行上边命令。

$ ssh-agent bash

4.SSH 密钥文件在 .ssh ,然后把 PUB 文件输入 GitHub 中。

5.完成以上步骤后在 /.ssh 目录创建无后缀的配置文件 config ,该文件用于配置私。对应的服务器。内容如下:

#first.github.io (first@gmail.com)        
Host github.com                                       
	HostName github.com                               #真实的域名地址,不用动         
	IdentityFile C:\\Users\\LINJI\\.ssh\\id_rsa       # SSH key 的地址     
	PreferredAuthentications publickey           #配置登录时用什么权限认证;可设为publickey,password publickey,keyboard-interactive等                 
	User first                  #配置使用用户名,把first 改为你的用户名  
      
#second.github.io (second@163.com)       
Host github-second.github.io      #改为你的用户名
	HostName github.com      
	IdentityFile C:\\Users\\LINJI\\.ssh\\id_rsa_second       
	PreferredAuthentications publickey       
	User second     #改为你的用户名

6.然后实行本地与远端的连接(与 first 相较,名称有所不同)

$ git remote add origin git@github-second:second/second.github.io.git        ( 无远程远点情况 )
$ git remote set-url origin git@github-second:second/second.github.io.git    ( 有远程远点情况 )

7.查看连接名称,即 host 别名

git remote -v

8.检测连接成功与否

$ ssh -T git@github.com

韧桂 2018-03-25