Github 为什么会允许任何人下载你的 public key?

2015-08-05 22:18:14 +08:00
 20150517

比如linus torvalds的公钥
https://github.com/torvalds.keys

公钥泄露了是没什么大问题,但是别人却可以这样鉴别你的身份,为什么github要这么设计,用处在哪?

5285 次点击
所在节点    问与答
43 条回复
shanigan
2015-08-06 01:53:41 +08:00
@20150517 https://en.wikipedia.org/wiki/Public-key_cryptography

加密的例子:我可以用你的公钥加密我的邮件,然后发给你,然后你可以用你的私钥来解密读取。
签名的例子:我想大众提供一个软件安装包,用我的私钥签名,你下载之后可以用我的公钥来验证你下载的安装包确实是我提供的。
Pastsong
2015-08-06 01:56:58 +08:00
这个问题问得有问题,要问的应该是公钥有什么用
kiritoalex
2015-08-06 01:59:40 +08:00
我一般用4096位的,感觉没什么压力啊
20150517
2015-08-06 02:01:14 +08:00
@shanigan
@Pastsong
好吧 我语文是数学老师教的,我当然知道公钥是什么用,rsa算法质数什么我大学还自己写过,我问的是,为什么github要搭这个接口,让大家的公钥显示在你的id上
kiritoalex
2015-08-06 02:01:59 +08:00
@shanigan 正解
msg7086
2015-08-06 03:02:50 +08:00
@20150517 为什么你连我们说的废话都不明白还来问这么废话的问题呢
公开的用处是?
你说这种废话问题你怎么能问的出来。
公开的用处就是公开,就是让人知道,这就是作用。这么简单的道理都不明白?
20150517
2015-08-06 03:06:58 +08:00
@msg7086 好吧,我语文不好, 我问的不是为什么公钥要公开,我问的是,他做这接口派什么用处?
20150517
2015-08-06 03:09:22 +08:00
@msg7086 因为显然他做成这样一个http接口,而不是帖在你的profile上,不仅仅是为了公开显示,是为了提供api调用用的,但这功能 怎么用的?
msg7086
2015-08-06 03:12:32 +08:00
@20150517

发布帖里说得很清楚了。

Postmodern
‏@postmodern_mod3

TIL @github exposes the ssh public keys for users. https://github.com/defunkt.keys Handy for adding devs to servers/repos.
下午6:57 - 2013年2月9日

[1]: https://twitter.com/postmodern_mod3/status/300438256200339456
msg7086
2015-08-06 03:14:38 +08:00
Today I learned from @postmodern_mod3 that GitHub exposes public ssh keys for its users. For example, if you wanted my public keys: https://github.com/adamstac.keys

So never again should you have to ask, “What’s your public ssh key?” You can just
※ curl -O https://github.com/<username>.keys
their public keys from GitHub and move on.

[1]: https://changelog.com/github-exposes-public-ssh-keys-for-its-users/
20150517
2015-08-06 03:17:54 +08:00
@msg7086 这才是我要的答案啊
msg7086
2015-08-06 03:18:52 +08:00
@20150517
(1) 搜索只需要1分钟就能知道答案
(2) 你需要学会提问
wuchizhitu1988
2015-08-06 09:18:20 +08:00
我天。。。好理直气壮的伸手党啊 google首页结果都看不到?
julyclyde
2015-08-06 10:29:48 +08:00
啊?提供下载的是ssh public key啊?这个好像没什么意义啊……
提供GPG public key还差不多
julyclyde
2015-08-06 10:35:26 +08:00
人家问的是,把SSH key公开并不能像GPG key一样提供“别人加密文件给key的主人”这种用途,因为目前并没有常见的用SSH key去做文件加密的软件,SSH public key的用途目前还仅仅限于ssh通信中的身份认证。而@msg7086 等几位却曲解为“公钥本来就没啥可保密的呀”。等有人出来回答之后,你们又开始说“只需要1分钟就能知道答案,你需要学会提问”

我建议你们还是多学学语文
msg7086
2015-08-06 11:17:36 +08:00
@julyclyde 你曲解我的意思了。我建议你还是多学学语文。
msg7086
2015-08-06 11:39:14 +08:00
@julyclyde 我索性把整件事情讲讲清楚吧,免得睡觉了又断开对话。

首先楼主标题里写了「为什么会允许任何人下载你的 public key」,顶楼写了「公钥泄露了是没什么大问题 但是别人却可以这样鉴别你的身份」,很明显着重提到了安全性,所以下面所有的楼层都在围绕着楼主提到的安全性问题展开讨论。楼主真正想知道的问题,为什么GitHub做了这样一个接口来提供这个数据,只占了顶楼不到四分之一的内容。下面歪楼简直是无可厚非。

顺便你35楼的第一句话,「人家问的是,……」,说了2行却还是没把问题说清楚。建议你咨询语文老师,疑问句应该怎么写。

第二句话,你说我等曲解为「公钥本来就没啥可保密的」。然而我说的是「公钥的目的/作用就是公开」。前者你说的这句是公钥的性质,而后者我说的这句是公钥的用途,这都能让你混在一起我也是服了。

第三句话,「有人出来回答之后,你们又开始说……」抱歉,回答的人是我,回复这句话的人也是我。
另外这句话我也不觉得有什么问题。我把楼主贴的github地址扔进谷歌,搜索,点开结果,复制,粘贴,点下回复键。很难吗?

我不喜欢对人很mean。我尽可能在我的范围内用更温和的口气来回答问题。如果作为一个提问者,对着回答者就是一通「你们说的都是废话」,我也就呵呵了。至于你半途跳出来说了几句有的没的还让人「多学学语文」,我也就更呵呵了。
20150517
2015-08-06 12:05:34 +08:00
@msg7086 算了 没什么好吵的,我是的问的有问题,我当时手机写的,写的比较简单,没考虑太多的后果,因为正好下班,确实没来及谷歌,就是觉得好奇,想让大家分享下

向大家表示抱歉
julyclyde
2015-08-06 16:24:11 +08:00
@msg7086 SSH public key那是给服务器鉴别用户的身份用的。如果某人要给别人开ssh登录权限,也应该直接找这个用户索取,而不是在公开渠道获得,因为并没有可靠的证据证明这个key就是这个人的。而SSH public key目前并不能用于其它密码术软件,所以也不存在加密文件或者签署数字签名的用法。

当然在github这种场景里确实有Handy for adding devs to servers/repos. 这种做法,但lz和我都没想到。你如果有心指点,就直接举出来,犯不着拿与此根本无关的人对人的身份鉴别来说事。
julyclyde
2015-08-06 16:25:14 +08:00
很多人都在回答:public key公开对安全无害。问题是lz根本就没问安全相关的问题,只是问这个看起来对外人没什么用的东西为什么被公开了,公开它的意义在哪儿

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

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

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

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

© 2021 V2EX