程序员该如何保管好自己的私钥? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在答技术问题时复制粘贴 AI 生成的内容
FlowMEMO
V2EX    程序员

程序员该如何保管好自己的私钥?

  •  
  •   FlowMEMO
    flowmemo 2016-05-20 18:51:30 +08:00 14858 次点击
    这是一个创建于 3430 天前的主题,其中的信息可能已经有所发展或是发生改变。
    以前用过 ssh key 方式登录,但是后来觉得自己可能保管不好私钥就放弃了.
    怕自己保管不好,一是怕不小心误删了,二是怕私钥泄露了(毕竟是存在电脑上不是脑子里的)

    现在想问一下大家,应该怎么保管好自己的私钥?

    还有就是有必要为不同的账号创建不同的密钥吗?
    96 条回复    2016-05-22 22:34:55 +08:00
    akagi
        1
    akagi  
       2016-05-20 19:06:31 +08:00   23
    连私钥都背不下来还敢自称程序员?!
    kfll
        2
    kfll  
       2016-05-20 19:08:58 +08:00
    同时使用多种高强度的认证方式,这样就不用特意去管理私钥了,也可以花式创建各种各样不同的私钥了...
    YUX
        3
    YUX  
    PRO
       2016-05-20 19:10:25 +08:00
    我会在 1Password 里备份一遍私钥

    钥念 yuè?
    ivmm
        4
    ivmm  
       2016-05-20 19:10:33 +08:00
    1.给 key 加密放到云盘。
    2.那么云盘加密的 key 放哪里呢?
    3.再给新的 key 加密放到云盘
    4.那么云盘加密的 key 放哪里呢?
    5.再给新的新的 key 加密放到云盘
    6.那么云盘加密的 key 放哪里呢?
    ............



    还是背下来吧。不然这样就死循环了。
    kkzxak47
        5
    kkzxak47  
       2016-05-20 19:10:45 +08:00 via Android
    要看自己的私钥有多高的价值了,反正我自己的满世界乱复制,网盘手机工作电脑都存
    ivmm
        6
    ivmm  
       2016-05-20 19:11:48 +08:00   1
    @YUX 正确的读法是 yue , 高考过去一年了,这点常识还在的。

    但是国内有个密码学大佬,他念 yo , 然后念 yao 的人也不少,所以就不分到底哪个正确了。
    BMW
        7
    BMW  
       2016-05-20 19:12:27 +08:00
    你放心,你的私钥没那么重要。
    loading
        8
    loading  
       2016-05-20 19:13:44 +08:00 via Android   3
    我回答不止一次了:

    打印二维码放抽屉,多地存放。

    不怕死的话,匿名注册一个博客服务,贴出来……
    YUX
        9
    YUX  
    PRO
       2016-05-20 19:16:37 +08:00
    @ivmm 密钥的[钥] 的意思我觉得是 钥匙的[钥] 难道不是这个意思?
    vus520
        10
    vus520  
       2016-05-20 19:17:13 +08:00
    尝试了 10 分钟,只能背 100 个字符,心累,还是乖乖的打印出来贴床头上吧。
    cnnblike
        11
    cnnblike  
       2016-05-20 19:17:43 +08:00 via iPhone
    @loading 打印二维码这个好,感谢
    boter
        12
    boter  
       2016-05-20 19:21:49 +08:00
    @ivmm 钥(yao)匙 or 钥( yue )匙

    反正苹果的输入法 siyue 打不出这个私钥( yao )
    Radeon
        13
    Radeon  
       2016-05-20 19:24:29 +08:00   7
    1. 密钥要加 passphrase 。使用 ssh-agent 、 ssh-add 在开机的时候输入一次 passphrase
    2. 密钥最好专门创建一个帐号,放在那个 home 下的一个目录。记得用 chmod og-rwx -R dir 把所有其他人的权限关掉。这个帐号最好在.bashrc 里面设好 umask ,使得其创建的任何文件都默认只有自己有 r 权限
    3. 需要使用 ssh 时,用 su -l 或者 login 以那个专门的帐号来用 ssh
    alexapollo
        14
    alexapollo  
       2016-05-20 19:26:37 +08:00
    如何保管自己的密码?用 1password ?如何保管好 1password 的密码?
    ryd994
        15
    ryd994  
       2016-05-20 20:04:34 +08:00 via Android
    怎么就没人说 USB token 和智能卡呢?
    xjp
        16
    xjp  
       2016-05-20 20:09:29 +08:00
    钥 [yuè]
    开锁或上锁的用具:锁~(a.“锁”和“钥”;b.喻重要关键;c.喻边防要地,如“北方~~”)。
    钥 [yào]
    义同(一):~匙(开锁、上锁的用具。“匙”读轻声)。

    所以从含义上看 两种音都可以
    我比较喜欢读[yào]


    我觉得指纹最方便 什么都不用记
    vibbow
        17
    vibbow  
       2016-05-20 20:19:08 +08:00
    @xjp 指纹是最不方便的,太容易泄漏了,又无法更换。
    仅适合加密强度最低的场合使用。
    cxbig
        18
    cxbig  
       2016-05-20 20:24:38 +08:00
    一般定期做,私钥 加密打包+伪装成其他文件 放:
    - 1Password
    - 家里的 Time Capsule
    - 某个随身携带的 U 盘
    skydiver
        19
    skydiver  
       2016-05-20 20:28:55 +08:00 via iPad
    @YUX 文白异读
    skydiver
        20
    skydiver  
       2016-05-20 20:30:02 +08:00 via iPad   1
    私钥的保存要点是,不要复用,不同机器不通账户都不要公用。
    julyclyde
        21
    julyclyde  
       2016-05-20 20:56:29 +08:00
    @YUX 是锁钥的 yue ,不是钥匙的 yao
    julyclyde
        22
    julyclyde  
       2016-05-20 20:58:24 +08:00
    @ryd994 USB token 没有对 ssh 客户端的标准协议;智能卡更不靠谱了,连读卡器都找不到
    相对靠谱一点儿的是,用 OpenPGP card 协议,然后用 gpg-agent 冒充 ssh-agent 给 SSH 用
    不过问题是 OpenPGP card 供应很少
    YUX
        23
    YUX  
    PRO
       2016-05-20 20:58:56 +08:00
    @alexapollo 1Password 的主密码是我需要记到脑子里的强密码 当时在键盘里打了一个小时记住的
    tSQghkfhTtQt9mtd
        24
    tSQghkfhTtQt9mtd  
       2016-05-20 21:06:48 +08:00 via Android
    这个时候 ECC 的优势就出来了吗 233
    好记啊(
    realpg
        25
    realpg  
    PRO
       2016-05-20 22:01:23 +08:00
    @YUX
    大连人表示
    那叫 yue 匙棍儿
    FlowMEMO
        26
    FlowMEMO  
    OP
       2016-05-20 22:05:39 +08:00
    @skydiver 比如我在两个机子上做开发,提交到同一个 repo ,这样需要一台机子一个私钥吗


    @liwanglin12 求解释
    nocwat
        27
    nocwat  
       2016-05-20 22:07:23 +08:00
    推荐 keepass 哦,装了 keeagent 插件之后还能实现 SSH 自动登录,超级好用
    qian19876025
        28
    qian19876025  
       2016-05-20 22:10:58 +08:00
    @ivmm 多音字而已
    sinxccc
        29
    sinxccc  
       2016-05-20 22:14:09 +08:00
    1. 密钥定期换
    2. 密钥永远不要离开本地的机器,离开本地机器的密钥视同已泄漏
    3. 重要的密钥打印一份出来放银行保险柜
    Balthild
        30
    Balthild  
       2016-05-20 22:15:26 +08:00 via iPhone
    使用 7z ,固实压缩+文件名加密+20 位强密码
    Ouyangan
        31
    Ouyangan  
       2016-05-20 22:17:09 +08:00
    @nocwat 我把 keepass 密码给忘了,蛋疼 , 现在用 lastpass
    tSQghkfhTtQt9mtd
        32
    tSQghkfhTtQt9mtd  
       2016-05-20 22:21:58 +08:00 via Android
    @FlowMEMO 。。(ノ-_-)ノ~┻━┻严格来说这是个抖机灵回答,因为没记错的话 ECC 在给定加密强度下的密钥长度最短所以会比较好记,这样你就可以存在脑子里了
    zander
        33
    zander  
       2016-05-20 22:24:29 +08:00
    600.
    zander
        34
    zander  
       2016-05-20 22:25:06 +08:00
    400 也行。
    SlipStupig
        35
    SlipStupig  
       2016-05-20 22:26:54 +08:00   3
    训练一只鹦鹉让它记住你的秘钥,每次要用就问鹦鹉,假如鹦鹉死了,秘钥就没了,这个我叫“秘钥生命周期”哈哈哈!
    julyclyde
        36
    julyclyde  
    &nbs;  2016-05-20 22:36:42 +08:00
    @sinxccc 2 和 3 冲突吧?
    SmiteChow
        37
    SmiteChow  
       2016-05-20 22:38:19 +08:00
    keepass
    ZE3kr
        38
    ZE3kr  
       2016-05-20 22:46:59 +08:00 via iPhone
    最近发现把密码什么的放 iPhone 的备忘录里并选择加密。加密的密码忘了?没关系,可以拿 Touch ID 解密,这就是我用备忘录的原因,系统原生支持拿 Touch ID 解密应该比第三方好的多。
    run2
        39
    run2  
       2016-05-20 22:58:54 +08:00
    @loading 打印机比 PC 更容易被攻克不,不然....更容易泄漏
    Septembers
        40
    Septembers  
       2016-05-20 23:02:41 +08:00
    SmartCard or YubiKey
    LazyZhu
        41
    LazyZhu  
       2016-05-20 23:14:07 +08:00
    vus520
        42
    vus520  
       2016-05-20 23:29:28 +08:00   1
    likuku
        43
    likuku  
       2016-05-21 00:59:35 +08:00
    你电脑硬盘不全盘加密?你电脑用的外置备份存储盘不全盘加密?你私钥不设置 passphrase ?
    sinxccc
        44
    sinxccc  
       2016-05-21 04:16:37 +08:00
    @julyclyde 2 说得简单了,写作:私钥文件不可以在除本机以外的任何电子存储设备上有副本…总之体会意思就行了,咱也不是在写法律文件…


    3 的话 @sobigfish 提了个醒,很重要的私钥的话,不要用一体机打印,用私人的便宜打印机
    dynaguy
        45
    dynaguy  
       2016-05-21 04:25:23 +08:00
    纹在大腿上,这不最近减肥,有点看不清了~
    skydiver
        46
    skydiver  
       2016-05-21 05:05:02 +08:00 via iPad
    @FlowMEMO 需要
    ryd994
        47
    ryd994  
       2016-05-21 05:48:02 +08:00 via Android
    @julyclyde 我描述的不清楚
    有 USB 的 gpg 智能卡读卡器,卡+读卡器也没多贵,亚马逊上一大把,靠不靠谱我没试过
    我一直以为 USB 的读卡器和卡直接一体的就叫 USB token
    然后最近常见的 yubikey ,我用的就是 yubikey 当智能卡
    同时 yubikey 也可以用作 otp ,这个需要服务器上配置 pam
    loading
        48
    loading  
       2016-05-21 06:45:46 +08:00 via Android
    @sobigfish 你直接写明个人密码,然后到处打印,怪谁……
    griffinqiu
        49
    griffinqiu  
       2016-05-21 08:03:49 +08:00 via iPhone
    私钥( yao )。这个读法为什么不可以,英文翻译过来的词
    ericls
        50
    ericls  
       2016-05-21 08:33:19 +08:00
    @ivmm 语言是人类交流的工具 只要能用于交流怎么读都是对的 如果非要选个正确的 应该选最流行的
    xpol
        51
    xpol  
       2016-05-21 08:45:21 +08:00 via Android
    我有个朋友读:私钥( shi )
    不过被我改过来读 yao 了。
    TangMonk
        52
    TangMonk  
       2016-05-21 08:49:30 +08:00
    忘记了可以在云服务器上通过 web 登录嘛
    jessun1990
        53
    jessun1990  
       2016-05-21 08:52:00 +08:00 via iPhone
    azurexie
        54
    azurexie  
       2016-05-21 08:54:19 +08:00
    @xpol ...本文盲一直以为是私 shi
    kkzxak47
        55
    kkzxak47  
       2016-05-21 09:04:35 +08:00 via Android
    什么 yao 啊 yue 啊,都不及金轮来的生动
    latyas
        56
    latyas  
       2016-05-21 09:12:39 +08:00
    private key 是有密码的,设一下就好,丢了起码可以缓一缓
    或者可以买个 digispark ,改 ssh 客户端,读默认私钥的时候通过 usb 获得私钥内容
    linux40
        57
    linux40  
       2016-05-21 09:15:52 +08:00 via Android
    @griffinqiu 英文翻译的词。。。私钥这个概念只能用在加密的时候呀。
    Fleeting
        58
    Fleeting  
       2016-05-21 09:17:35 +08:00 via Android
    一直念私 yao ,每次都是输入法提示私 yue 。。查了下,好像除了“钥匙”,其他都读 yue 。。
    tscat
        59
    tscat  
       2016-05-21 09:54:25 +08:00
    打包。。加密。密码用中文。中文总背得下来吧。。。随便一句话都能让超级计算机破解一万年。比如这句
    lfzyx
        60
    lfzyx  
       2016-05-21 10:28:08 +08:00
    加 passphrase
    Halry
        61
    Halry  
       2016-05-21 10:37:27 +08:00 via Android
    打电话给微软,都是说你的密钥( yao )密钥( yao ),平时也是说钥( yao )匙。
    xpol
        62
    xpol  
       2016-05-21 10:49:55 +08:00 via Android
    @azurexie 君子所错略同。
    ffffwh
        63
    ffffwh  
       2016-05-21 11:02:44 +08:00
    私钥不是本身可以弄一个 passphrase 么。 Mac 下第一次用时可以存到 Keychains 里去,以后不用每次都输。
    cabbage
        64
    cabbage  
       2016-05-21 11:21:58 +08:00 via Android
    私钥后多加点随机字符,然后用 7z 固实加密压缩,用分卷的,把每个卷存到不同的网盘,硬盘等等,这样只要缺一个卷就拿不到私钥。
    当然,这只是用来备份的一种方法,讲道理私钥是要不定期更换的。
    Balthild
        65
    Balthild  
       2016-05-21 12:46:19 +08:00 via iPhone
    @ericls 不。 yao 只是官话的音变产生,随普通话被扶正,除了「钥匙」外都读 yue 。钥,形声字,从金,音部为月,所以读作 yue 才是正确的。
    tracymcladdy
        66
    tracymcladdy  
       2016-05-21 13:15:51 +08:00
    没那么重要,我直接放 google drive 的
    ericls
        67
    ericls  
       2016-05-21 13:19:34 +08:00
    @Balthild 按照现在的形式来说 这个词应该被定义为两种读音均可 如果读 yao 是被人玩错误的 那么这个语言吃枣药丸
    airqj
        68
    airqj  
       2016-05-21 13:38:37 +08:00 via Android
    背下来不就行了
    另外,就算知道钥的正确读音 还是喜欢读要
    timothyye
        69
    timothyye  
       2016-05-21 13:59:41 +08:00
    我是直接放 dropbox 上
    timothyye
        70
    timothyye  
       2016-05-21 14:00:10 +08:00
    @vus520 你还真背啊,汗……
    kozora
        71
    kozora  
       2016-05-21 14:17:23 +08:00
    我的自己本地生成的密钥,然后密钥再加密码,密码用 lastpass 生成的高强度密码,然后本地存一份,再放一份到 onedrive ,然后密钥的密码查看需要验证 lastpass 的密码才能复制
    won
        72
    won  
       2016-05-21 14:25:12 +08:00
    论男人如果保管好私房钱
    kelos
        73
    kelos  
       2016-05-21 14:27:43 +08:00
    @akagi 不排除意外的事故导致的短时或长期的失忆,以及自身疾病带的健忘等情况导致你忘了密码这回事。。。
    kelos
        74
    kelos  
       2016-05-21 14:28:24 +08:00
    @loading 好方法
    honeycomb
        75
    honeycomb  
       2016-05-21 14:34:16 +08:00 via Android
    @ivmm 好在发音这个事情是可以改的,说不定以后的正统发音变成私(zuo)钥(si)了
    4679kun
        76
    4679kun  
       2016-05-21 14:52:19 +08:00 via Android
    base64 一遍 生成二维码
    Balthild
        77
    Balthild  
       2016-05-21 15:10:01 +08:00 via iPhone
    @ericls 不是被人玩错误的,是本来这个读音就是音变,后来在「钥匙」这个词上被扶正了。
    skyoojaa
        78
    skyoojaa  
       2016-05-21 15:14:27 +08:00 via Android
    纠结 siyao ,还是 siyue 的。多音字好吧。打出来就好啦。而且,题主既没有说念 yue ,也没有说念 yao 啊。只是问怎么保存嘛。
    Balthild
        79
    Balthild  
       2016-05-21 15:19:40 +08:00 via iPhone
    @ ericls 而且补充说明一下,钥这个字是简化字,繁体字,当初简化汉字时不是被简化成「钅药」之类的而是简化成「钅月,也说明了本音是 yue 」。
    amorphobia
        80
    amorphobia  
       2016-05-21 15:51:31 +08:00
    表示在我方言里面『药』、『钥』、『乐』(音乐的乐)都是同一个发音,跟『月』的发音是不一样的 = =
    Delbert
        81
    Delbert  
       2016-05-21 17:56:00 +08:00 via Android
    @YUX 是的,还有密钥,读音为蜜月。
    778899     82
    778899  
       2016-05-21 19:29:36 +08:00
    本人想做一个电脑站 (不复杂 简单的) 请好心大虾们伸出援助之手(有偿)

    -----小白在此叩谢
    QQ66282811
    charlie21
        83
    charlie21  
       2016-05-21 20:00:35 +08:00
    .ssh 文件夹扔 Google Drive 。即用即下载即删除
    deyu260
        84
    deyu260  
       2016-05-21 20:35:03 +08:00
    习惯的力量
    everpcpc
        85
    everpcpc  
       2016-05-21 20:38:28 +08:00
    看了大家的评论,果然还是赞同 1L :
    连私钥都背不下来还敢自称程序员?!
    onice
        86
    onice  
       2016-05-21 20:41:59 +08:00
    向你推荐 Keepass 。用这个加密,然后上传到云上。
    VmuTargh
        87
    VmuTargh  
       2016-05-21 21:18:39 +08:00
    用 cryptomator 加密,扔 bitbucket 上面的 private repo 做同步
    尽量用 x25519 算法( openssh 和 gpg 都兹瓷了, openssl 很快也会兹瓷),避免 NIST 后门同时缩短长度
    密码是一串字符串的 sha512 fingerprint , base64 过的
    julyclyde
        88
    julyclyde  
       2016-05-21 22:32:58 +08:00
    @ryd994 gpg 智能卡 是你自己定义的么?这货相当非主流,并不是随便一个卡都能给 GPG 用的
    Zohar
        89
    Zohar  
       2016-05-21 22:40:11 +08:00 via Android
    先 Encrypt ,然后 Dropbox 。
    jason19659
        90
    jason19659  
       2016-05-21 22:48:59 +08:00
    随便放哪,记住第 512 位和 1024 位。然后把源文件的这两位改了。用的时候再改回去
    akagi
        91
    akagi  
       2016-05-22 00:58:25 +08:00
    @kelos 也不要过于当真 不过根证书颁发机构的私钥都是锁保险柜的 所以还是看密级~
    dawncold
        92
    dawncold  
       2016-05-22 11:18:54 +08:00
    我还想考虑背诵一下 private key ,但一看有 1600 多个字符。。。果断放弃了。

    可以买个 Yubikey ,那是个硬件加密工具。
    limengwei
        93
    limengwei  
       2016-05-22 13:38:40 +08:00
    放 google 云盘
    run2
        94
    run2  
       2016-05-22 15:50:05 +08:00
    @loading 我是指打印机驱动的后门什么的 不是指自己 zuo
    loading
        95
    loading  
       2016-05-22 16:27:01 +08:00 via Android
    @sobigfish 所以你应该去路边打印,这样你那张图可以淹没在大量图里面。
    AbrahamGreyson
        96
    AbrahamGreyson  
       2016-05-22 22:34:55 +08:00
    gist
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     6001 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 02:49 PVG 10:49 LAX 19:49 JFK 22:49
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86