一、生成公钥 / 私钥对
生成公钥 / 私钥对的命令(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 登录
- 将公钥增加到服务器的
.authorized_key
文件中。该文件的格局是每行一个公钥。例如你想通过私钥登录 user 用户,则将公钥内容追加到/home/user/.ssh/.authorized_key
文件中。 - 在你的 SSH 客户端上增加你的私钥(通常 SSH 客户端中能够治理多个私钥),并在登录设置中,设置帐号名为 user,登录模式为私钥。
三、保留你的私钥
你的私钥十分重要,请妥善保存。它只是一个文本文件,所以能够保留到你的在线笔记当中。 留神不要公开你的私钥文件内容,不要让他人把你的私钥拷贝走了。
万一你的私钥被拷贝走了
但他人是无奈间接应用你的私钥的,最初一道防线就是你创立私钥时设置的、用于关上私钥的明码。盗取你私钥的人没有明码就无奈关上私钥。然而通过暴力破解,仍旧是有可能在肯定工夫内猜出你的明码来。
因而万一你的私钥被裸露进来了,最平安的应答形式是从新生成公钥 / 私钥对(当然不能持续用原来的私钥明码!),而后去服务器上用新的公钥替换你现有的公钥。