公钥设计用于共享、读取和/或发布公钥是可以的
私钥是秘密的,只能由所述私钥的所有者访问。
要想明白这一点,请回想一下您曾经访问过的每个 HTTPS 网站。在每种情况下,作为 HTTPS 的一部分,站点都会为您提供他们的公钥。因此,发布它不仅是安全的,而且是这样的。例如,如果您单击地址栏上的绿色锁图标,您可以找到该网站的公钥(如果您在 HTTPS 上查看它)
*.stackexchange.com
Modulus (2048 bits):
af 46 03 ce c7 13 e6 2e 93 d8 56 91 b1 31 8d 0a
22 c1 f0 eb 4f 5e ef 0d f6 20 32 b9 a4 4e 87 f9
d2 d2 44 51 b0 df 30 50 c9 35 4e 68 19 84 fb 98
33 aa 05 4b 7e fb 57 c5 b6 2e a8 4b 04 ca cf 5e
2e e5 9e 1b ca b7 60 c5 58 2c b0 df c4 6b 0d b1
2c 33 97 73 54 61 2b 9a 1b b1 dc 5d 10 a9 c4 c8
f7 6c e3 55 6e b5 0e 61 3b 35 24 0b 89 1e 32 a2
75 69 4e 97 40 68 ee 23 48 f2 71 9f c7 7e e2 9d
6c 22 55 36 24 64 a4 f0 b6 52 58 5a 9a 44 e7 3b
2a d5 ed 95 63 f8 1d a8 4d 45 9b 5d c2 f2 f9 74
81 06 18 d5 b1 fb b0 7e 5d 50 1f 63 5c a0 73 f5
22 b2 57 64 03 e6 b7 0f 6f b7 58 0b 57 80 56 51
65 9f f5 09 61 63 29 62 4d 30 02 3a 64 10 2d 95
b8 12 36 04 58 c5 d7 1d 95 e2 21 3c b0 b3 93 35
b2 b1 f9 6d 7e 20 66 b2 68 33 e9 50 a8 15 1e 0a
80 9a 3c 19 dd cc 79 35 a8 8c 1b 61 33 5d 12 2f
Exponent (24 bits):
65537
这方面的更多示例可以在 github.com 上找到,他们要求您将公钥附加到您的帐户以用于 git clone git@github.com:<user>/<repo>
您实际上可以使用以下 URL 检查 github 上任何用户的公钥
https://api.github.com/users/<user>/keys
我的列为:
[
{
"id": 18667533,
"key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDraswAp7EbMwyYTzOwnSrsmr3nNMDaDf4e2YVaehLc9w6KN2ommomXZO8/V9N3yINNveGqrcVc9m2NTm04iILJUKd9o25ns8QIG6XSCt9SVx/Xw1J/SXfIWUKuEe0SgmIwVwkk8jetfG/Z7giSiU3dxxC4V9lHQCFgKOKBWGpNbINmqtmBWncX3HJKeXrpSddoePbZZ84IEFr4CWUlqoXyphpxqzpfA9sRpVTtyBPcUSj68j4+gKgEQN65G6LXys3q8BiwWxucci6s34vp4L8jKn7uYh26vLuT1oIbODJphCmpvMH+ABPkNQcFBk4rRLpCEAsoAhmvTk/NjnfZM+nd"
},
{
"id": 21175800,
"key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5tPV481acCZ5wm2E15gXkVRaKCE3lic/O8licyzW+eDE9rPpG4rHRRH9K2ENmstUh5nLEenb0nNhEGnsf3pIJRZ07JXwv16+lsJBSS8+YiWeMBlwo+JNaxwSyUlYUgl1ruogr0nR0KBqsYSWXuG0s2jm2IOV+0B/0fzDR/tiLFLj50+iJ9qCDSk/8fAsXz2xG39KcUcxmCbDXb/qSdESWaZc+pafNRiCcVNfMkKeDViWlzI4VkiTcfVCraHUuYx4jgOBB526dRWSDG9bLchwlJiopgT+k4X/TNe2l01DPwYetwLvY6V8rcPrjjJL8ifRTMSof1zRIoBgJZhRzWc1D"
}
]
私钥的情况恰恰相反,私钥应该始终受到保护,并且永远不要提供给第三方或在未加密的情况下通过电子邮件进行交换。
如果有人访问了您的私钥,他们就可以访问任何受您的公钥保护的设备或加密文件。这也意味着他们可以代表您签署。如果有人获得了您的私钥的访问权限,那将是非常糟糕的。
在许多情况下,如果检测到私钥文件的权限使您以外的用户具有读取权限,则 SSH 客户端将无法运行。