【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文件,全部复制,粘贴到需要的地方:

相关推荐
Cyber4K12 分钟前
【Nginx专项】高级进阶架构篇-Proxy正反向代理、FastCGI及PHP-FPM介绍
运维·服务器·nginx·架构·php
Hical_W23 分钟前
深入学习CPP20_协程
学习·github
Asurplus28 分钟前
【Ngrok】Linux运行内网穿透工具Ngrok
linux·运维·服务器·内网穿透·ngrok
热爱Liunx的丘丘人36 分钟前
21.内核和内核参数
linux·运维·服务器
传说中胖子38 分钟前
Magento服务器VSCode开启XDebug方法
服务器·vscode·php
wanhengidc40 分钟前
物理服务器的功能都有哪些
运维·服务器·网络·安全·web安全·智能手机
papaofdoudou1 小时前
AMD-V 嵌套分页白皮书翻译
java·linux·服务器
李日灐1 小时前
<1>Linux基础指令:Linux 高频指令详解 + 文件与目录认知
linux·运维·服务器·开发语言·后端·命令
艾莉丝努力练剑1 小时前
【Linux线程】Linux系统多线程(七):<线程同步与互斥>线程同步(下)
java·linux·运维·服务器·c++·学习·操作系统
zzzyyy5381 小时前
Linux进程控制(1)
linux·运维·服务器