129,919
社区成员




ssh-keygen -t rsa -b 4096 -N "" -f ~/.ssh/id_rsa //id_rsa是私钥文件,id_rsa.pub是公钥文件
ssh-copy-id root@ip -p port //复制公钥到可信任主机
ssh-keygen -lf /root/.ssh/id_rsa.pub //查看公钥长度
ssh -o stricthostkeychecking=no user@ip -p port
常用命令选项:
-b:指定密钥长度;
-e:读取openssh的私钥或者公钥文件;
-C:添加注释;
-f:指定用来保存密钥的文件名;
-i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥;
-l:显示公钥文件的指纹数据;
-N:提供一个新密语,即指定此密钥对的密码, 如果指定此参数, 则命令执行过程中就不会出现交互确认密码的信息了
-P:提供(旧)密语;
-q:静默模式;
-t:指定要创建的密钥类型。
eg1:ssh-keygen -t rsa -C 'DB-mgmt' -f ~/.ssh/DB_id_rsa //多个SSH key
的管理需要指定秘钥文件名
eg2:ssh-keygen -t rsa -f ~/.ssh/id_rsa -N "hailan" -C "hLan" //cat id_rsa.pub,最后一位可看到注释
eg3:ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 root@172.18.1.132
注意:目前代码签名证书的最小密钥默认长度是2048位,专注于CA和浏览器的安全技术与标准的讨论与制定的CA/B论坛在分析了NIST的建议之后,决定从2021年6月1日起,代码签名证书最小密钥长度为RSA3072位。全球知名的CA机构Digicert宣布2021年5月27日之后签发的代码签名证书必须支持RSA算法3072位或更强的密钥长度,之前签发的证书不受影响。通过证书可看到当前秘钥长度;
权限配置:
1)对普通用户, 建议设置成600权限: chmod 600 authorized_keys id_rsa id_rsa.pub;
2)对root用户, 建议设置成644权限: chmod 644 authorized_keys id_rsa id_rsa.pub.
ssh-keygen默认会生成4096 位 SSH RSA 公钥和私钥文件。如果当前位置存在 SSH 密钥对,这些文件将被覆盖。