linRichielinRichie
前端
Python
Linux
ChatGPT
  • B 站
  • 500px
前端
Python
Linux
ChatGPT
  • B 站
  • 500px
  • Ansible

    • Ansible: 基本操作
    • Ansible: 安装
    • Ansible: 简介
    • YAML: 文件格式
    • Playbook

      • Playbook: 介绍
      • Playbook: 操作
    • 模块

      • Yum模块常用参数
    • 实战

      • Ansible 实战
  • Anaconda

    • Anaconda命令
  • Iptables

    • Iptable: 防火墙
    • iptables 用法
  • Systemd

    • 系统服务配置
    • 系统服务启动文件
    • 性能优化

      • Linux 系统监控
      • Linux 系统性能优化
      • Linux 系统故障诊断
      • Linux 系统日志管理
  • Network

    • 用一张图解释 8 种流行的网络协议
    • 反子网掩码
    • 交换机端口模式
    • eNSP 软件
    • 华为交换机配置命令
    • eNSP静态路由实验
  • Commands

    • 命令别名:alias
    • 多类型资源统计工具: dstat
    • history配置
    • unzip命令
    • Linux用户到期登录时间和随机密码
    • 常用 Command
    • ssh

      • ssh-keygen
      • linux ssh命令
  • CI/CD

    • Jenkins CI/CD 管道
  • Kubernetes

    • Docker系列学习

      • 01. 什么是Docker
      • 02. Docker安装
      • 03. 使用Docker镜像
      • 04. 利用commit理解镜像构成
      • 05. 操作Docker容器
      • 06. 使用Dockerfile定制镜像
      • 07. Dockerfile指令详解
      • 08. Dockerfile多阶段创建
      • 09. 访问仓库
      • 10. 修改docker的启动项
      • 11. Nexus3.x的私有仓库
      • 12. docker-hub加速器
      • 13. 数据管理
      • 14. 使用网络
  • Shell编程

    • Shell 编程基础
    • Shell 脚本执行消耗的时间
    • Shell 自动生成简介

ssh-keygen

  • 简介
  • 基本用法
  • 密钥管理
    • 文件位置
    • 权限设置
  • 常用参数
  • 使用示例
    • 1. 生成密钥
    • 2. 密钥转换
  • 最佳实践

简介

ssh-keygen 是一个用于生成、管理和转换 SSH 密钥的工具。它可以创建用于 SSH 协议版本 1 和 2 的认证密钥。

基本用法

# 生成 RSA 密钥对
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

# 指定文件名
ssh-keygen -t rsa -f ~/.ssh/my_key -C "custom key"

# 分发公钥
ssh-copy-id -i ~/.ssh/id_rsa.pub username@hostname

密钥管理

文件位置

默认生成的文件位于 ~/.ssh/ 目录:

  • id_rsa:私钥文件
  • id_rsa.pub:公钥文件

权限设置

# 创建 .ssh 目录
mkdir -p ~/.ssh

# 设置正确的权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub

常用参数

参数说明示例
-t指定密钥类型ssh-keygen -t rsa
-b指定密钥长度ssh-keygen -b 4096
-f指定密钥文件名ssh-keygen -f ~/.ssh/my_key
-C添加注释ssh-keygen -C "comment"
-p修改密钥密码ssh-keygen -p -f key_file

使用示例

1. 生成密钥

# 生成默认 RSA 密钥
ssh-keygen

# 生成带注释的密钥
ssh-keygen -t rsa -C "work key"

2. 密钥转换

# 转换为 PEM 格式
ssh-keygen -e -m PEM -f ~/.ssh/id_rsa > id_rsa.pem

最佳实践

  1. 安全建议

    • 使用强密码保护私钥
    • 定期更换密钥
    • 妥善保管私钥文件
  2. 使用建议

    • 为不同用途创建不同密钥
    • 使用有意义的注释
    • 备份重要密钥

注意:

  • 私钥文件权限必须是 600
  • .ssh 目录权限必须是 700
  • 不要在不安全的系统上生成密钥

参考资料:

  • OpenSSH 密钥管理
  • SSH 密钥最佳实践
最近更新时间:
Next
linux ssh命令