讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux如何生成SSH密钥对_Linux SSH密钥对生成实战

酷雪大大_3834

酷雪大大_3834

发布时间:2026-04-11 12:37:34

|

231人浏览过

|

来源于php中文网

原创

ssh-keygen 默认生成的密钥不推荐使用,因其采用已禁用的 ssh-rsa/SHA-1 算法、2048 位 RSA 密钥强度不足,且 OpenSSH 8.8+ 默认拒绝该算法;应显式指定 ed25519 或 rsa -b 4096。

linux如何生成ssh密钥对_linux ssh密钥对生成实战

直接用 ssh-keygen 生成即可,但默认参数在现代环境里不够安全,容易被爆破或不被新版本 OpenSSH 接受。

为什么 ssh-keygen 默认生成的密钥现在不太推荐用

OpenSSH 8.8+ 默认禁用了 ssh-rsa 签名算法(即传统 RSA 密钥配合 SHA-1),而老版本 ssh-keygen 不加参数时仍会生成这种密钥。你可能遇到:

  • sign_and_send_pubkey: no mutual signature algorithm —— 客户端连不上新服务端
  • Unable to negotiate with ... no matching key exchange method found —— 实际是密钥签名算法不匹配导致协商失败
  • 密钥长度仍为 2048 位(ssh-keygen -t rsa 默认),已低于当前 NIST 建议的最低安全强度

所以别依赖默认,显式指定算法和长度。

推荐命令:生成兼容性好且安全的 Ed25519 或 RSA-4096 密钥

优先选 ed25519(速度快、密钥短、抗侧信道、OpenSSH 6.5+ 原生支持);若需兼容极老客户端(如某些嵌入式设备),再选 rsa 并强制 4096 位。

生成 Ed25519 密钥(含注释,保存到默认位置):

Linux Distros
Linux Distros

Linux发行版游乐场,适用于需要临时Linux沙箱、基于浏览器的Linux虚拟机、一次性终端环境、桌面Linux会话等场景

下载
ssh-keygen -t ed25519 -C "your_email@example.com"

生成 RSA-4096 密钥(明确指定长度):

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

关键点:

  • -C 后的字符串是密钥注释,不是密码,建议填邮箱或用途,方便识别
  • 不要省略 -t 和 -b(RSA 场景),否则回落到不安全默认
  • 执行后提示输入 Enter file in which to save the key,直接回车用默认路径 ~/.ssh/id_ed25519 即可
  • 私钥权限必须是 600,ssh-keygen 会自动设置,但手动移动过文件后要检查:chmod 600 ~/.ssh/id_ed25519

如何验证生成的密钥是否符合预期

别只看文件是否存在,得确认类型、长度和签名能力:

  • 查公钥内容及算法:ssh-keygen -l -f ~/.ssh/id_ed25519.pub → 应显示 256 ED25519
  • 查私钥格式和是否加密:ssh-keygen -l -f ~/.ssh/id_ed25519(私钥也能读,会提示输入密码)
  • 测试能否被 ssh-agent 正确加载:ssh-add -l(空输出说明没加载,可用 ssh-add ~/.ssh/id_ed25519 加载)
  • 检查服务端是否接受该密钥类型:在目标服务器上运行 sshd -T | grep pubkeyacceptedalgorithms(OpenSSH 9.0+)或 sshd -T | grep -i rsa(旧版),确认列表中包含 sk-ssh-ed25519@openssh.com 或 ssh-ed25519

常见误操作与后续动作遗漏点

生成完不等于能用,很多人卡在这几步:

  • 把 .pub 文件内容(整行,从 ssh-ed25519 开始到邮箱结束)复制进远程服务器的 ~/.ssh/authorized_keys,**不能复制私钥,也不能漏掉末尾注释**
  • 远程 ~/.ssh 目录权限必须是 700,authorized_keys 必须是 600,否则 sshd 拒绝读取
  • 服务端 /etc/ssh/sshd_config 中确保有 PubkeyAuthentication yes 且未被注释
  • 改完配置要重启服务:sudo systemctl restart sshd(注意不是 ssh,很多系统用 sshd)
  • Windows 用户用 PuTTY 或旧版 Git Bash,可能不支持 Ed25519,此时需换用 rsa -b 4096 或升级客户端

Ed25519 私钥无法转成 PEM 格式供某些工具(如旧版 Jenkins SSH Credentials)使用,需要时得重生成 RSA 密钥——这点容易等到部署阶段才暴露。

热门AI工具

更多
Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

相关专题

更多
js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

1678

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

2544

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

5984

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

5429

2023.11.24

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

7114

2024.03.22

php中定义字符串的方式
php中定义字符串的方式

php中定义字符串的方式:单引号;双引号;heredoc语法等等。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

10134

2024.04.29

go语言字符串相关教程
go语言字符串相关教程

本专题整合了go语言字符串相关教程,阅读专题下面的文章了解更多详细内容。

5159

2025.07.29

c++字符串相关教程
c++字符串相关教程

本专题整合了c++字符串相关教程,阅读专题下面的文章了解更多详细内容。

5527

2025.08.07

PixTV官网入口地址合集
PixTV官网入口地址合集

本专题汇总了 PixTV AI 一站式视频创作平台的官方入口与使用教程。无需下载软件,浏览器直接访问即可使用。平台将剧本、图像、视频、声音与剪辑整合在“无限画布”中,接入 GPT Image 2.5、Seedance 2.5 等头部模型。本专题整理了从新建画布、角色锚定、分镜拆分到视频生成与导出的完整操作指南,助你快速上手 AI 短剧与漫剧创作。

60

2026.10.10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn