我目前用到了好几个 git 平台, 如 github,coding,giteee,还有几个其他的
是针对每个平台创建一个 id_rsa 呢, 还是 使用同一个?
如果每个平台都建立一个,管理起来很麻烦
如果用同一个, 就会有什么风险吗?
谢谢
1
huaxianyan 2021-04-20 14:27:43 +08:00 1
公钥就是拿出去的啊……
你一对密钥可以把公钥给各个服务器或者平台,然后用那个私钥进行操作是没问题的呀 (我甚至多个常用设备都用一套公私钥,但是不推荐这么做,风险很大) |
2
ch2 2021-04-20 14:30:29 +08:00 via iPhone 1
风险就是你的私钥被盗走,但是别人只知道你的私钥不知道你的用户名也白瞎
|
3
clino 2021-04-20 14:34:02 +08:00 2
风险在于你的私钥有可能被泄漏,比如你本地被恶意软件入侵,如果你为每一个 git 网站生成单独的密钥,那你本地被入侵的时候还是全部都被窃取了,安全性应该差不多。
|
4
FrankFang128 2021-04-20 15:12:59 +08:00
一台电脑一个 key 就行了。
你就算生成多个,不还是全都在 .ssh 目录,有什么意义,要偷还是全偷。 |
5
mschultz 2021-04-20 15:57:01 +08:00 via iPhone 1
@ch2 ssh -T [email protected] 就知道用户名了🐶
|
6
kuichieh 2021-04-20 16:48:55 +08:00
同一个 pub key 标识了同一个人,匿名场合这样做不适合
|
7
Jirajine 2021-04-20 16:53:06 +08:00 via Android
像楼上说的,被偷基本也是全偷,安全性也不差太多。
多个密钥主要是匿名性考虑,不同账号不同公钥避免被关联。 另外建议换 ed25519,长度短安全性好。 |
8
FrankAdler 2021-04-20 19:06:16 +08:00
@mschultz 有点意思
|
9
sobigfish 2021-04-20 19:48:40 +08:00
可能唯一的风险就是通过公钥把你匹配起来的隐私风险吧
|
11
jim9606 2021-04-20 21:35:02 +08:00
如果要分多 key,建议将 key 与设备关联而不是跟平台关联。这样在某一设备丢失后只需撤销设备对应的 key 即可。不过注意这种用法要注意不要跨设备同步 key 。
至于平台关联 key 也就考虑匿名性,避免平台间通过 key 识别关联账号,不过我觉得这一点在多数时候没意义,平台通常也不会对外公开 ssh pubkey 。 |
12
mschultz 2021-04-20 23:12:20 +08:00
@jim9606 #11 但最知名的,用 ssh pubkey 的平台 —— GitHub,却的确是对外公开 ssh pubkey 的😂
|
13
caliburn1994 2021-04-20 23:28:05 +08:00
。。。用多个密钥对。。。 你是在手动模拟 AWS 吗
|
15
learningman 2021-04-21 00:04:16 +08:00 via Android
@mschultz 比如说你服务器上有一个程序要读本地的文件,我可以构造一个特殊的路径字符串来读取你的.ssh 。但是我实际上其实是没有执行命令的权限。
|
16
mschultz 2021-04-21 00:14:23 +08:00
@learningman 既然读取到私钥了,不可以拿到别的机器上执行 ssh -T [email protected]
|
17
mschultz 2021-04-21 00:14:48 +08:00
@learningman 吗?
我觉得这要定义什么是「偷到私钥」 |
18
xarthur 2021-04-21 00:17:52 +08:00 via iPhone
公钥就是拿出去的。
你甚至可以直接通过 GitHub 主页看一个用户的公钥。 |
19
Mutoo 2021-04-21 07:50:26 +08:00
多公钥管理起来并不会麻烦,具体可以参考 .ssh/config 配置。
分散风险总是好的,例如家里有多个设备,有时候需要把私钥放在像 rpi 之类的设备上去访问不同业务。私钥太通用了泄漏了风险更大。 |