首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
宝塔
V2EX  ›  程序员

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

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

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

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

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



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

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

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

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

    反正苹果的输入法 siyue 打不出这个私钥( yao )
        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
        14
    alexapollo   2016-05-20 19:26:37 +08:00
    如何保管自己的密码?用 1password ?如何保管好 1password 的密码?
        15
    ryd994   2016-05-20 20:04:34 +08:00 via Android
    怎么就没人说 USB token 和智能卡呢?
        16
    xjp   2016-05-20 20:09:29 +08:00
    钥 [yuè]
    开锁或上锁的用具:锁~(a.“锁”和“钥”;b.喻重要关键;c.喻边防要地,如“北方~~”)。
    钥 [yào]
    义同(一):~匙(开锁、上锁的用具。“匙”读轻声)。

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


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


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


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

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

    可以买个 Yubikey ,那是个硬件加密工具。
        93
    limengwei   2016-05-22 13:38:40 +08:00
    放 google 云盘
        94
    sobigfish   2016-05-22 15:50:05 +08:00
    @loading 我是指打印机驱动的后门什么的 不是指自己 zuo
        95
    loading   2016-05-22 16:27:01 +08:00 via Android
    @sobigfish 所以你应该去路边打印,这样你那张图可以淹没在大量图里面。
        96
    AbrahamGreyson   2016-05-22 22:34:55 +08:00
    gist
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   917 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 30ms · UTC 21:54 · PVG 05:54 · LAX 13:54 · JFK 16:54
    ♥ Do have faith in what you're doing.