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

相关推荐
nan madol10 分钟前
Rocky Linux 9.5 部署 Percona XtraDB Cluster (PXC) 集群
linux·运维·服务器
zincsweet11 分钟前
Linux 命名管道(FIFO)详解:原理分析、源码封装与通信流程图解
linux·服务器·c++·流程图
|_⊙15 分钟前
进程间通信(System V 标准下的多种通信方式)
linux·运维·服务器
原来是猿42 分钟前
性能测试(1)
运维·服务器·python·压力测试
郝学胜-神的一滴43 分钟前
CMake 012:Linux 下动态库与可执行程序的单文件构建
linux·服务器·开发语言·c++·软件构建·cmake
为思念酝酿的痛9 小时前
POSIX信号量
linux·运维·服务器·后端
隔窗听雨眠10 小时前
Nginx网关响应慢排查手记
java·服务器·nginx
人还是要有梦想的10 小时前
linux下用搜狗输入法,中英文切换
linux·运维·服务器
9分钟带帽11 小时前
linux_通过NFS挂载远程服务器的硬盘
linux·服务器
迷枫71213 小时前
DM8 目录结构与常用排查入口梳理
服务器·数据库