每天一个Linux碎片:ssh免交互生成秘钥

羌俊恩 社区创始人
运维领域优质创作者
博客专家认证
2022-08-19 09:22:38
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.

...全文
166 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
羌俊恩 社区创始人 2022-08-19
  • 打赏
  • 举报
回复

ssh-keygen默认会生成4096 位 SSH RSA 公钥和私钥文件。如果当前位置存在 SSH 密钥对,这些文件将被覆盖。

129,919

社区成员

发帖
与我相关
我的任务
社区描述
欢迎各位小伙伴积极活跃投稿,将日常IT打怪中遇到的问题,优秀解决方案,或自己的博客认为比较经典的文章分享到这里,共同营造一个悦享的问题库,Review及减少重复造车轮的无限循环,此致敬礼
devops经验分享开源 技术论坛(原bbs) 北京·西城区
社区管理员
  • 羌俊恩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

本社区:旨在推进运维云化知识库建设,为更多运维提供参考及经验交流;加入社区的同学,如果运维工作中遇到问题或最后得到解决,有劳凑空发帖,分享共建FAQ社区。

得到解决方案的同学,请积极为发帖的同学点赞、评论、能力范围内打赏激励。另外本社区采用游戏修仙角色作为鼓励,对不同贡献者授予对应“勋章”。

最后祝愿社区繁荣昌盛,此致敬礼!!!

试试用AI创作助手写篇文章吧