github、gitlab 等服务是如何储存用户的公钥的,为每个用户都在服务器创建一个本地用户,把公钥写进.ssh 里?

2020-03-04 17:06:26 +08:00
 jry
4536 次点击
所在节点    git
27 条回复
ivyliner
2020-03-05 13:09:37 +08:00
@jry gitlab 是把 key 放到数据库的 keys 这个 table 里面
具体的原理可以看一下 https://github.com/gitlabhq/gitlab-shell


select * from keys where title limit 1;
-[ RECORD 1 ]------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
id | 2
user_id | 3
created_at | 2016-12-26 07:29:47.71315
updated_at | 2018-03-27 06:38:27.813502
key | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHKN5NtDozWty5/KTa9sVyNWR4LtufJI/nfg2pkZr4qg7KCmoaBQYW/qZXA2aX54SHGpOfcC/hJuGXFOor/HLC2K6uy656k8pb3ps/fYxOhd9yBxfBFvktDnZ/HNpCw9+OBV5WYgpS6oaXLIGNmMP28uMrlx9XdWYjoJEkAUlg7jT+I53kXRSF7KKP2xBXpWTm0tyzI50GBHOg4TMps8fvraG/2Bl6J4R7ZLDmN3bQQ5S1Q/OUGBd+K385bsvwvF/7o3QPZYzrEF0EVjN41b6MUxGT47wAAtgo1HhVBaFDDzad3z4NGhWD+L5wUEhxYSLxqcLFiEvs2hvPc8
title | ym
type |
fingerprint | 08:66:93:e4:31:20:ac:d3:c6:65:af:a8:b8:6e:7c:13
public | f
last_used_at | 2020-03-05 02:35:54.852897
fingerprint_sha256 | \x99af1b54849fe9ced262132b1bbad15b4917d67ba3fc03f13e1a4f679a74c74c
julyclyde
2020-03-05 18:20:40 +08:00
@ivyliner 那个 table 只是 gitlab 用来“产生 authorized_keys”的数据源吧
jry
2020-03-05 18:47:52 +08:00
感谢大家的回复:
jry
2020-03-05 18:48:20 +08:00
居然回车就发布了咋换行
ivyliner
2020-03-05 18:57:30 +08:00
@julyclyde 是的,我们两个人答案和合起来就完整了
jry
2020-03-05 19:03:48 +08:00
@forcecharlie 很有帮助,写的好详细,🐂🍺
otakustay
2020-03-05 21:08:50 +08:00
我也觉得这个楼里有部分用户的回复语气过于诡异,非常不建议在公开社区,特别是相对严肃的技术讨论场合下,使用“你以为 XXX 吗”这种反问句,都是工程师,有一说有正面上就好了

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

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

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

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

© 2021 V2EX