摘要:为什么使用SSH密钥,SSH密钥一个最大的优点是在保证安全认证的基础上,还能同时免密码登录,使得远程登录、git代码远程管理等应用场景不用输入密码即可实现登录或者代码拉取、推送等,更加便捷;同时,在基于一些SSH协议上的应用程序也无需输入密码,例如一个最常用的场景:SCP传输文件,使用密钥实现免密操作,相比密码方式,使用者感觉更加舒适和友好。
SSH密钥生成使用ssh-keygen命令:
ssh-key最常用的参数为-t和-C,-t配置密钥的加密类型,-C注释密钥备注,可以看做给密钥取名(强烈建议使用该参数,便于见名知意,以及管理公钥、私钥),具体配置命令及过程如下:
ssh-keygen -t rsa -C "ssh-secret-key"
密钥配置与生成过程:
至此,ssh密钥对(私钥和公钥)生成完毕,后缀为.pub表示公钥,另一个表示私钥(切记私钥不能分发,在公用服务服务器上开发时,为了配置git远程仓库的免密时,设置私钥的密码非常重要,具体配置见上图注释)。
对私钥和公钥的理解:举一个形象但不是很恰当的例子,密钥对:私钥和公钥分别对应邮箱密码和邮箱地址,邮箱地址可以告诉任意人/组织,故任何有该邮箱地址的人便可向该地址发送邮件。