当前位置: 首页 > news >正文

Hetzner创建云服务器SSH Keys配置介绍(公钥、私钥、密钥配置、SSH配置)

文章目录

  • Hetzner创建云服务器SSH Keys配置介绍
  • 为什么会有 SSH Key?
  • SSH Key 到底是什么?
  • 为什么叫公钥和私钥?
  • 登录过程发生了什么?
  • 为什么服务器只有公钥还能验证?
  • SSH Key 为什么不能反推出私钥?
  • Hetzner 为什么让你添加 SSH Key?
  • 整个流程图
  • 实际操作(Windows / macOS / Linux 都适用)
    • 第一步:生成 SSH Key
    • 第二步:查看公钥
    • 第三步:添加到 Hetzner
    • 第四步:创建服务器
    • 注意这里如果不是用默认生成的SSH密钥,需要在`~/user/.ssh/config`中添加配置
    • 第五步:登录
    • 建议

Hetzner创建云服务器SSH Keys配置介绍

Hetzner 创建云服务器时的SSH Keys配置,这是现代 Linux 服务器最推荐的登录方式。

你可以把 SSH Key 理解成一种比密码更安全、更方便的身份证

先看一下截图里的提示:

No SSH key selected.

我们推荐使用 SSH Key,否则我们会把 root 密码发送到你的邮箱。

也就是说:

  • 使用 SSH Key:创建服务器时就把你的公钥放进去,以后直接登录,不需要密码。
  • 不使用 SSH Key:Hetzner 会生成一个 root 密码,通过邮件发给你。

为什么会有 SSH Key?

先理解密码登录为什么不好。

假设你的服务器 IP 是:

49.12.xx.xx

传统登录方式:

sshroot@49.12.xx.xx

然后:

Password:

输入密码。

问题来了:

  • 密码容易泄露
  • 容易被暴力破解
  • 需要记住
  • 密码可能在邮件中传播
  • 自动化脚本不方便

所以后来大家想到:

为什么不用公钥密码学?

于是就有了 SSH Key。


SSH Key 到底是什么?

它其实就是一对钥匙:

┌───────────────┐ │ ssh-keygen │ └──────┬────────┘ │ ▼ 私钥(Private Key) id_ed25519 │ │ │ ▼ 公钥(Public Key) id_ed25519.pub

生成的时候,一次产生两把钥匙。

其中:

私钥

id_ed25519

只有你自己保存。

永远不要给别人。


公钥

id_ed25519.pub

可以公开。

里面长这样:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI...

这就是你要上传到 Hetzner 的东西。


为什么叫公钥和私钥?

因为它们是一对。

可以理解成:

公钥 = 锁 私钥 = 钥匙

服务器只安装:

你的电脑保存:

钥匙

只有你的钥匙能打开那把锁。

所以:

服务器 ← 公钥 电脑 ← 私钥

登录过程发生了什么?

假设:

你的电脑:

Private Key

服务器:

Public Key

登录:

sshroot@server

整个过程其实类似:

你的电脑 Private Key │ │ ▼ 我可以证明 我拥有私钥 │ ────────────►│ 服务器 Public Key 验证: 这个签名 是不是对应 我的公钥? 是 允许登录

重点:

整个过程没有传输私钥。

密码也没有传输。


为什么服务器只有公钥还能验证?

这是公钥密码学最神奇的地方。

举个例子。

假设:

服务器说:

给你一道题: 123456789

你的电脑拿私钥:

签名: ABCDXYZ...

发回服务器。

服务器用:

Public Key

验证:

是不是对应? ✔ 是

于是:

你一定拥有私钥。

但服务器永远不知道私钥是什么。

这就是数字签名的原理。


SSH Key 为什么不能反推出私钥?

因为使用的是成熟的公钥密码算法,例如:

  • Ed25519(目前推荐)
  • RSA(老但仍常见)
  • ECDSA

这些算法设计上就是:

Private Key │ ▼ 数学运算 ▼ Public Key

这个过程容易。

反过来:

Public Key ↓ Private Key

几乎不可能。

否则整个互联网 HTTPS 都会失效。


Hetzner 为什么让你添加 SSH Key?

创建服务器的时候,它会做一件事:

你的公钥 ↓ 写进服务器: ~/.ssh/authorized_keys

例如:

/root/.ssh/authorized_keys

里面就是:

ssh-ed25519 AAAAC3Nza....

以后:

ssh root@server

服务器就会检查:

你的私钥 ↓ 是不是对应 authorized_keys 里的公钥?

如果匹配:

登录成功

整个流程图

第一次 你的电脑 ────────────── 生成: id_ed25519 id_ed25519.pub │ │上传 ▼ Hetzner 创建服务器 │ 写入: authorized_keys ──────────────────────── 以后登录: ssh root@IP │ 使用: Private Key │ 数字签名 ▼ 服务器 Public Key │ 验证成功 ▼ 登录

实际操作(Windows / macOS / Linux 都适用)

具体操作记录参考文章:Hetzner服务器购买和Cloudflare域名配置记录(hcloud CLI)

第一步:生成 SSH Key

打开终端执行:

ssh-keygen-ted25519-C"your_email@example.com"

邮箱部分是注释,不影响密钥的实际功能

参考文章:ssh-keygen命令介绍

一路按回车即可。

生成后通常会得到:

~/.ssh/id_ed25519 ~/.ssh/id_ed25519.pub

Windows 使用 PowerShell 也是一样。


第二步:查看公钥

执行:

cat~/.ssh/id_ed25519.pub

会输出:

ssh-ed25519 AAAAC3Nz...... your_email@example.com

全部复制。


第三步:添加到 Hetzner

点击:

+ Add SSH key

填写:

Name: My Laptop
Public Key: ssh-ed25519 AAAAC3Nza...

保存。


第四步:创建服务器

创建服务器时勾选:

✓ My Laptop

服务器创建完成后,就已经信任你的电脑了。


注意这里如果不是用默认生成的SSH密钥,需要在~/user/.ssh/config中添加配置

Host hetzner-server HostName ********** User root IdentityFile ~/.ssh/hetzner_jobcopilot IdentitiesOnly yes

第五步:登录

sshroot@服务器IP

第一次会提示:

Are you sure you want to continue connecting?

输入:

yes

之后就直接进入服务器,不需要输入 root 密码。


sshhetzner-server

第一次登陆,键入yes

建议

如果你接下来打算用 Hetzner 部署项目,我建议从一开始就使用 SSH Key 登录,而不是密码登录。这也是 Linux 运维和云平台(包括 GitHub、GitLab、AWS、Azure、Google Cloud 等)的主流做法。

如果你感兴趣,我还可以进一步讲解SSH 的完整工作机制,包括:

  • 为什么第一次连接会出现Are you sure you want to continue connecting?(Host Key 是什么)
  • known_hosts文件的作用
  • authorized_keys文件的作用
  • SSH 登录过程中完整的握手流程(客户端认证、服务器认证、会话密钥协商),帮助你真正理解 SSH 的底层原理。
http://www.gsyq.cn/news/1635866.html

相关文章:

  • ICM-42605与STM32F437ZG在运动追踪中的硬件与算法实现
  • 嵌入式精确计时系统:CS2200-CP与PIC18F2455的硬件设计与优化
  • TVA在具身智能商业化部署中的技术突破(13)
  • 从CVE-2020-27986看SonarQube安全加固:构建纵深防御的代码审计平台
  • 好用的区域教育一体化管理平台源头厂家
  • git的基本了解
  • GPT-4与GPT-4 Turbo核心差异:上下文、知识、稳定性与成本的工程真相
  • 计算机毕业设计之jsp克拉玛依职业技术学院信息工程系网站
  • Db2数据库手工SQL注入实战:从原理到靶场复现
  • E-Hentai下载器完整指南:3分钟掌握免费画廊打包技巧
  • 2025终极指南:如何轻松突破Google Drive PDF下载限制的3个关键步骤
  • 是谁给你的身份?中小政企轻量化本地 IAM 通用部署与选型全指南
  • 【下一代智慧养老:架构与实战连载】前言
  • 2026最新智习室合作盈利分析 看完就清楚能不能赚到钱
  • AI驱动测试用例生成:OmX工具实践与测试工程师转型
  • 云计算为企业带来竞争优势的9种方式
  • Java面试通关⑧:Spring核心IoC/AOP全集
  • 核内调度问题的分层优化:缓存管理与性能均衡策略 问题 3 的模型建立与求解 模型设计与分析+实验分析
  • Transformers.js:重新定义浏览器端AI推理的架构范式
  • 从零手搓大模型前置知识(附录二)PyTorch GPU 训练基础
  • GB 34660-2026深度解读:EMC新国标来了,为什么我说没人能100%合规
  • 别被低价模板带偏,真正该看的是建站公司的全案能力
  • 边缘计算+PLC融合|PLC用了20年还在“卡脖子”?四大产线困局你中了几条?
  • 【Windows + VSCode】ORB-SLAM2 从零下载、编译到运行示例完整复现教程
  • QT系统篇(5)(下)
  • 网盘下载慢到抓狂?这个开源浏览器脚本让你轻松获取高速直链
  • 机械工程论文降AI工具免费推荐:2026年机械工程毕业论文降AI4.8元知网达标完整方案
  • 架构评审数据化:别让评审会只剩观点碰撞
  • NVIDIA Profile Inspector:解锁显卡隐藏性能,让你的游戏体验飞起来
  • 华硕笔记本轻量级控制中心:释放硬件潜力的终极解决方案