Write the Code. Change the World.

1月 12

对于 github 这类服务,一个 ssh-key 只允许添加一次。也就是你在 a 账号添加了 ssh-key,再想用这个 ssh-key 添加到 b 账号是不行的。这个时候,就需要在该 ssh-key 的电脑上生成新的 ssh-key 来满足多账号的需求。
那么问题也来了,这就需要每次都要指定 git 项目对应的 ssh-key。方法自然是有的。方法有好几个,只用最方便的吧。

生成 ssh-key

https://blog.vini123.com/1070

指定 ssh-key

假如按照上边的操作,生成了 ssh-key,也将其公钥添加到配置中了。那么只需要指定当前所使用的 ssh-key 就可以了。

# 添加
ssh-add ~/.ssh/ssh-key-私钥

# 查看
ssh-add -l

# 删除
ssh-add -d  ~/.ssh/ssh-key-私钥

这样就可以使用 git 来操作代码了。 clone push pull 都是可以的。

不过,这个电脑重启后,就失效了。还是会使用默认的 ssh-key

ssh-add 错误

执行 ssh-add xxx 的时候也许不是顺利的。可能会有下边的报错。

Could not open a connection to your authentication agent.

解决:
先看看 ssh 代理是否在运行。 ssh-agent -s。如果没运行,启动它。如果运行了,看 SSH_AUTH_SOCK 环境变量是否存在。echo $SSH_AUTH_SOCK
如果出现上边那个错误,走到这里了,应该是不存在的,也就是输出为空格。那么重新启动 ssh 代理。再回过去检查。

eval "$(ssh-agent -s)"