V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
piqizhu8
V2EX  ›  问与答

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

  •  
  •   piqizhu8 · 2021-04-20 14:22:25 +08:00 · 2235 次点击
    这是一个创建于 1099 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    谢谢

    19 条回复    2021-04-21 07:50:26 +08:00
    huaxianyan
        1
    huaxianyan  
       2021-04-20 14:27:43 +08:00   ❤️ 1
    公钥就是拿出去的啊……

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

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

    至于平台关联 key 也就考虑匿名性,避免平台间通过 key 识别关联账号,不过我觉得这一点在多数时候没意义,平台通常也不会对外公开 ssh pubkey 。
    mschultz
        12
    mschultz  
       2021-04-20 23:12:20 +08:00
    @jim9606 #11 但最知名的,用 ssh pubkey 的平台 —— GitHub,却的确是对外公开 ssh pubkey 的😂
    caliburn1994
        13
    caliburn1994  
       2021-04-20 23:28:05 +08:00
    。。。用多个密钥对。。。 你是在手动模拟 AWS 吗
    mschultz
        14
    mschultz  
       2021-04-20 23:53:03 +08:00
    @ch2 #10 对这方面不太熟悉,这句话没太明白😂 能举个例子么,能偷到私钥但无权限执行 ssh 命令?
    learningman
        15
    learningman  
       2021-04-21 00:04:16 +08:00 via Android
    @mschultz 比如说你服务器上有一个程序要读本地的文件,我可以构造一个特殊的路径字符串来读取你的.ssh 。但是我实际上其实是没有执行命令的权限。
    mschultz
        16
    mschultz  
       2021-04-21 00:14:23 +08:00
    @learningman 既然读取到私钥了,不可以拿到别的机器上执行 ssh -T [email protected]
    mschultz
        17
    mschultz  
       2021-04-21 00:14:48 +08:00
    @learningman 吗?
    我觉得这要定义什么是「偷到私钥」
    xarthur
        18
    xarthur  
       2021-04-21 00:17:52 +08:00 via iPhone
    公钥就是拿出去的。
    你甚至可以直接通过 GitHub 主页看一个用户的公钥。
    Mutoo
        19
    Mutoo  
       2021-04-21 07:50:26 +08:00
    多公钥管理起来并不会麻烦,具体可以参考 .ssh/config 配置。
    分散风险总是好的,例如家里有多个设备,有时候需要把私钥放在像 rpi 之类的设备上去访问不同业务。私钥太通用了泄漏了风险更大。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1657 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 16:48 · PVG 00:48 · LAX 09:48 · JFK 12:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.