背景
在工作中很多时候会遇到多人共用一台机器的场景,这种情境下,如果使用 SSH 公钥就很容易造成重复问题,张三覆盖李四,李四覆盖王五.....而且为了安全,生产环境下要求一个SSH 公钥(Public Key)仅能给一个用户使用,所以必须曲线救国尽量保证每个人使用自己的 Key。
解决方案
SSH公钥默认保存地址为:~/.ssh/id_rsa.pub
第一步:每个用户生成一对自己专属的SSH密钥,用-f
参数指定密钥文件的位置,可以将下面示例中的 example 换成自己名字/场景,一路回车
ssh-keygen -t rsa -f ~/.ssh/id_rsa.example
第二步: 在~/.ssh/config中指定各个用户的密钥地址
【注】~/.ssh/config文件的权限必须是644,否则可能会报 Permissions are too open.
chmod 644 ~/.ssh/config
#每个用户有三行信息,切记要换行!
Host github.com
User test1
IdentityFile ~/.ssh/id_rsa.test1
Host github.com
User test2
IdentityFile ~/.ssh/id_rsa.test2
第三步: 将 SSH 公钥(.pub文件内容)贴到 github/gitlab/coding 即可
安全提示
在生产环境中,不推荐多个常用设备共用一套公私钥,建将 key 与设备关联而不是跟平台关联,这样当某一设备丢失后或key泄露后只需撤销设备对应的 key 即可
哈哈哈哈,测试的结果如何