Secure Shell 协议,简称 SSH,是一种加密网络协议,用于客户端和主机之间的安全连接,并支持各种身份验证机制,目前最实用的身份验证机制就是基于密码的身份验证和基于公钥的身份验证两种。Linux系统如何设置基于 SSH 密钥的身份验证,以及如何免密连接到主机的教程。
第一步:检查现有的 SSH 密钥对
首先检查主要是为了不覆盖现有密钥。运行以下Is 命令以查看,存在可以使用这些密钥并跳过第二步,或备份旧密钥并生成新密钥。如果看到 No such file or directory 或 no matches found 意味着没有 SSH 密钥,则可以继续执行下一步并生成新密钥。
ls -al ~/.ssh/id_*.pub
第二步:生成新的 SSH 密钥对
以下命令将生成一个新的 4096 位 SSH 密钥对,并将电子邮件地址作为注释:
ssh-keygen -b 4096 -C Email@qq.com
ssh-keygen常见参数:
-t:指定生成密钥的类型,默认使用SSH2d的rsa
-f:指定生成密钥的文件名,默认id_rsa(私钥id_rsa,公钥id_rsa.pub)
-b:指定密钥长度(bits),RSA最小要求768位,默认是2048位;DSA密钥必须是1024位(FIPS 1862标准规定)
-C:添加注释;
-P:提供旧密码,空表示不需要密码(-P ‘’)
-N:提供新密码,空表示不需要密码(-N ‘’)
-R h