【ssh key】登陆云服务器,github的安全密码

~/.ssh 文件下会有两种钥匙:private key (e.g. id_ed25519) and public key (e.g. id_ed25519.pub)

私钥到底有什么用?(本质)🧠

私钥的唯一作用:

👉 证明"我是我"

当你:

  • 登录服务器
  • ssh user@server
  • git push
  • 连接集群 / 云服务器

真正起作用的 只有私钥

公钥只是"登记信息",
干活的是私钥


登录时发生了什么?

想象服务器在门口:

  1. 服务器:

    "你说你是 Sun,对吧?那证明一下。"

  2. 你的电脑:

    👉 用 私钥 生成一个"签名"

  3. 服务器:

    👉 用你之前给它的 公钥 来验证

  4. 对得上 → 放行 ✅

    对不上 → 拒绝 ❌

👉 私钥从不离开你的电脑


没有私钥会怎样?

  • ❌ 你不能 SSH 登录任何服务器
  • ❌ 不能 git push
  • ❌ 不能自动化脚本登录
  • ❌ 即使服务器里有你的 .pub 也没用

👉 公钥 ≠ 权限

👉 私钥才是能力


如果别人拿到了你的私钥

这是重点 ⚠️

  • 他可以:

    • 假装是你登录服务器
    • 假装是你 push 代码
    • 访问你有权限的集群 / 云资源
  • 服务器 分不出来

👉 所以:

私钥泄露 = 身份被盗


为什么私钥不能放在服务器?

如果服务器也有你的私钥:

  • 服务器被黑 → 所有人身份一起泄露
  • 整个系统就崩了

所以设计成:

  • 🔐 私钥:只在你电脑
  • 📄 公钥:可以到处放

私钥平时"在干嘛"?👀

你平时 几乎感觉不到它存在

  • 不用点
  • 不用打开
  • 不用输入(除非你设了 passphrase)

但每次你觉得:

"咦?怎么没让我输密码就连上了?"

👉 私钥在背后工作


再给你一个非常好记的比喻 🗝️

  • 私钥 = 你手里的真实钥匙
  • 公钥 = 门锁里的齿型

锁里只有齿型

但只有你手里的钥匙才能转得动。


总结

1️⃣ 私钥是真正的身份

2️⃣ 公钥只是登记信息

3️⃣ 私钥泄露 = 完全危险


1. 查找以有的ssh key

bash 复制代码
sun@transformon:~$ ls ~/.ssh
config  id_ed25519  id_ed25519.pub  known_hosts  known_hosts.old

如果你看到这些文件之一,说明你已经有 key 了:

id_rsa 和 id_rsa.pub

id_ed25519 和 id_ed25519.pub

👉 .pub 结尾的就是 public key

如果没有就自己生成一个:

bash 复制代码
ssh-keygen -t ed25519 -C "your_email@example.com"

这里ed25519是生成key的算法名字。执行这一步骤之后,会出现一些自定义的选项,帮助你自定义文件名。

2. 将ssh public key 添加到远端服务器

进入.pub文件,全部复制,粘贴到需要的地方:

相关推荐
阿里嘎多学长1 小时前
2026-01-11 GitHub 热点项目精选
开发语言·程序员·github·代码托管
三两肉1 小时前
HTTPS ECDHE 握手全解析
网络协议·https·github·rsa·echde
啊湘1 小时前
vscode 使用 github (适用CURSOR等使用)
ide·vscode·github·cursor·mcp
糖~醋排骨2 小时前
DHCP服务的搭建
linux·服务器·网络
huohaiyu2 小时前
网络中的一些基本概念
运维·服务器·网络
Kiyra2 小时前
虚拟机假死?SSH 能连却卡 Logo 界面
运维·ssh
l1t2 小时前
利用DeepSeek辅助拉取GitHub存储库目录跳过特定文件方法
人工智能·github·deepseek
dust_and_stars2 小时前
ubuntu24使用apt安装VS-code-server code-server
linux·服务器·windows
Hilaku2 小时前
我用 Gemini 3 Pro 手搓了一个并发邮件群发神器(附源码)
前端·javascript·github
ling-453 小时前
Linux-day09 11
linux·运维·服务器