ssh 生成的 id_rsa.pub 用在多个平台,有什么坏处吗?

2021-04-20 14:22:25 +08:00
 piqizhu8

我目前用到了好几个 git 平台, 如 github,coding,giteee,还有几个其他的

是针对每个平台创建一个 id_rsa 呢, 还是 使用同一个?

如果每个平台都建立一个,管理起来很麻烦

如果用同一个, 就会有什么风险吗?

谢谢

2250 次点击
所在节点    问与答
19 条回复
huaxianyan
2021-04-20 14:27:43 +08:00
公钥就是拿出去的啊……

你一对密钥可以把公钥给各个服务器或者平台,然后用那个私钥进行操作是没问题的呀

(我甚至多个常用设备都用一套公私钥,但是不推荐这么做,风险很大)
ch2
2021-04-20 14:30:29 +08:00
风险就是你的私钥被盗走,但是别人只知道你的私钥不知道你的用户名也白瞎
clino
2021-04-20 14:34:02 +08:00
风险在于你的私钥有可能被泄漏,比如你本地被恶意软件入侵,如果你为每一个 git 网站生成单独的密钥,那你本地被入侵的时候还是全部都被窃取了,安全性应该差不多。
FrankFang128
2021-04-20 15:12:59 +08:00
一台电脑一个 key 就行了。
你就算生成多个,不还是全都在 .ssh 目录,有什么意义,要偷还是全偷。
mschultz
2021-04-20 15:57:01 +08:00
@ch2 ssh -T git@github.com 就知道用户名了🐶
kuichieh
2021-04-20 16:48:55 +08:00
同一个 pub key 标识了同一个人,匿名场合这样做不适合
Jirajine
2021-04-20 16:53:06 +08:00
像楼上说的,被偷基本也是全偷,安全性也不差太多。
多个密钥主要是匿名性考虑,不同账号不同公钥避免被关联。
另外建议换 ed25519,长度短安全性好。
FrankAdler
2021-04-20 19:06:16 +08:00
@mschultz 有点意思
sobigfish
2021-04-20 19:48:40 +08:00
可能唯一的风险就是通过公钥把你匹配起来的隐私风险吧
ch2
2021-04-20 21:21:50 +08:00
@mschultz #5 能偷到私钥的权限,不一定有执行这条命令的权限高
jim9606
2021-04-20 21:35:02 +08:00
如果要分多 key,建议将 key 与设备关联而不是跟平台关联。这样在某一设备丢失后只需撤销设备对应的 key 即可。不过注意这种用法要注意不要跨设备同步 key 。

至于平台关联 key 也就考虑匿名性,避免平台间通过 key 识别关联账号,不过我觉得这一点在多数时候没意义,平台通常也不会对外公开 ssh pubkey 。
mschultz
2021-04-20 23:12:20 +08:00
@jim9606 #11 但最知名的,用 ssh pubkey 的平台 —— GitHub,却的确是对外公开 ssh pubkey 的😂
caliburn1994
2021-04-20 23:28:05 +08:00
。。。用多个密钥对。。。 你是在手动模拟 AWS 吗
mschultz
2021-04-20 23:53:03 +08:00
@ch2 #10 对这方面不太熟悉,这句话没太明白😂 能举个例子么,能偷到私钥但无权限执行 ssh 命令?
learningman
2021-04-21 00:04:16 +08:00
@mschultz 比如说你服务器上有一个程序要读本地的文件,我可以构造一个特殊的路径字符串来读取你的.ssh 。但是我实际上其实是没有执行命令的权限。
mschultz
2021-04-21 00:14:23 +08:00
@learningman 既然读取到私钥了,不可以拿到别的机器上执行 ssh -T git@github.com
mschultz
2021-04-21 00:14:48 +08:00
@learningman 吗?
我觉得这要定义什么是「偷到私钥」
xarthur
2021-04-21 00:17:52 +08:00
公钥就是拿出去的。
你甚至可以直接通过 GitHub 主页看一个用户的公钥。
Mutoo
2021-04-21 07:50:26 +08:00
多公钥管理起来并不会麻烦,具体可以参考 .ssh/config 配置。
分散风险总是好的,例如家里有多个设备,有时候需要把私钥放在像 rpi 之类的设备上去访问不同业务。私钥太通用了泄漏了风险更大。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/771895

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX