暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

密钥工具ssh-keygen的几个主要参数和用法

运维笔谈 2025-03-13
96
在日常Linux运维中,我们登陆服务器会通常会使用ssh-keygen工具来生成密钥文件。ssh-keygen 是 SSH 协议中用于生成、管理和转换密钥的核心工具,常见的几个参数如下:
1、-t 指定密钥类型

支持的算法有:

  • rsa:默认,兼容性最好,但 RSA-2048 以上更安全。

  • ed25519:现代算法,性能高且密钥短(推荐优先使用)。

  • ecdsa:基于椭圆曲线,安全性优于 RSA。

  • rsa1:旧版 SSH-1 协议密钥(已过时,不建议使用)。

  • dsa:SSH-2 的 DSA 密钥(1024 位,存在安全风险,已弃用)


生成 4096 位的 RSA 密钥:

    ssh-keygen -t rsa -b 4096
    2、-b 设置密钥长度(单位:位)
    • RSA:默认 2048 位,建议至少 3072 位(例如:-b 4096)。

    • ECDSA:可选 256、384、521 位(例如:-b 521)。

    • DSA 固定 1024 位,Ed25519 固定 256 位,无需此参数。、


    3、-f 指定密钥文件的存储路径和文件名
      ssh-keygen -f ~/.ssh/custom_key
       此命令会生成名为 custom_key 的私钥,公钥为 custom_key.pub。
      4、-C 为密钥添加注释,默认格式为 user@host,可用于标识密钥用途
        ssh-keygen -C "server-backup-key"
        5、-q 静默模式,适用于脚本自动化生成密钥,比如:
          ssh-keygen -q -t ed25519 -f ~/.ssh/auto_key -N ""
          6、组合示例:
          生成无密码的 Ed25519 密钥:
            ssh-keygen -q -t ed25519 -f ~/.ssh/ed25519_key -N ""
            生成高安全性的 RSA-4096 密钥(带密码):
              ssh-keygen -t rsa -b 4096 -C "Production Server" -N "s3cur3_p@ss"
              运维笔谈已经开通AI智能对话功能,解答有关运维日常工作中遇到的问题以及经验分享,感兴趣的大佬来和我聊聊吧!

              文章转载自运维笔谈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

              评论