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 登录
- 将公钥添加到服务器的
.authorized_key
文件中。该文件的格式是每行一个公钥。例如你想通过私钥登录 user 用户,则将公钥内容追加到/home/user/.ssh/.authorized_key
文件中。 - 在你的 SSH 客户端上添加你的私钥(通常 SSH 客户端中可以管理多个私钥),并在登录设置中,设置帐号名为 user,登录模式为私钥。
三、保存你的私钥
你的私钥非常重要,请妥善保管。它只是一个文本文件,所以可以保存到你的在线笔记当中。注意不要公开你的私钥文件内容,不要让别人把你的私钥拷贝走了。
万一你的私钥被拷贝走了
但别人是无法直接使用你的私钥的,最后一道防线就是你创建私钥时设置的、用于打开私钥的密码。盗取你私钥的人没有密码就无法打开私钥。但是通过暴力破解,依旧是有可能在一定时间内猜出你的密码来。
因此万一你的私钥被暴露出去了,最安全的应对方式是重新生成公钥/私钥对(当然不能继续用原来的私钥密码!),然后去服务器上用新的公钥替换你现有的公钥,感兴趣快去cnaaa服务器上尝试联系下吧。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示