版权声明:本文为 韧桂 原创文章,可以随意转载,但必须在明确位置注明出处!
一、项目背景
同一电脑
使用 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