多人共用一个Linux机器SSH配置方案?

背景

在工作中很多时候会遇到多人共用一台机器的场景,这种情境下,如果使用 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 即可

One Comment

发表回复