SSH 公钥私钥的生成管理

一、生成公钥/私钥对

生成公钥/私钥对的命令(Windows/Linux):

ssh-keygen -b 4096 -C 张三 -N password -f ./zhangsan-key

参数说明:

  • -b 4096:表示密钥的长度,建议 4096 起。
  • -C 张三:在公钥末尾加上注释,表名这是谁的公钥。
  • -N password:设置私钥密码。如果想在生成过程中输入密码,可以不用这个参数。
  • -f [file]: 设置生成的密钥保存文件名,生成成功后会得到 [file][file].pub 两个文件。

公钥与私钥

ssh-keygen 命令会生成两个文本文件,一个带 .pub 结尾,内容只有一行,这是公钥;另一个不带 .pub 结尾,内容有很多行,这是私钥。公钥和私钥是绝对唯一的一对,其中公钥内容是可以公开的,而私钥内容则需要小心保管。

二、将公钥/私钥对用于 SSH 登录

  1. 将公钥添加到服务器的 .authorized_key 文件中。该文件的格式是每行一个公钥。例如你想通过私钥登录 user 用户,则将公钥内容追加到 /home/user/.ssh/.authorized_key 文件中。
  2. 在你的 SSH 客户端上添加你的私钥(通常 SSH 客户端中可以管理多个私钥),并在登录设置中,设置帐号名为 user,登录模式为私钥。

三、保存你的私钥

你的私钥非常重要,请妥善保管。它只是一个文本文件,所以可以保存到你的在线笔记当中。注意不要公开你的私钥文件内容,不要让别人把你的私钥拷贝走了。

万一你的私钥被拷贝走了

但别人是无法直接使用你的私钥的,最后一道防线就是你创建私钥时设置的、用于打开私钥的密码。盗取你私钥的人没有密码就无法打开私钥。但是通过暴力破解,依旧是有可能在一定时间内猜出你的密码来。

因此万一你的私钥被暴露出去了,最安全的应对方式是重新生成公钥/私钥对(当然不能继续用原来的私钥密码!),然后去服务器上用新的公钥替换你现有的公钥。

你可能感兴趣的:(SSH 公钥私钥的生成管理)