惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
News and Events Feed by Topic
WordPress大学
WordPress大学
Vercel News
Vercel News
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
小众软件
小众软件
L
LangChain Blog
雷峰网
雷峰网
D
DataBreaches.Net
博客园 - 三生石上(FineUI控件)
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Tor Project blog
NISL@THU
NISL@THU
Scott Helme
Scott Helme
量子位
S
Security Affairs
T
Threat Research - Cisco Blogs
博客园_首页
云风的 BLOG
云风的 BLOG
D
Docker
AWS News Blog
AWS News Blog
腾讯CDC
博客园 - 聂微东
The GitHub Blog
The GitHub Blog
U
Unit 42
Recent Announcements
Recent Announcements
Apple Machine Learning Research
Apple Machine Learning Research
G
Google Developers Blog
T
The Exploit Database - CXSecurity.com
MongoDB | Blog
MongoDB | Blog
Stack Overflow Blog
Stack Overflow Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
L
LINUX DO - 热门话题
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The Last Watchdog
The Last Watchdog
C
Cybersecurity and Infrastructure Security Agency CISA
IT之家
IT之家
W
WeLiveSecurity
P
Privacy & Cybersecurity Law Blog
F
Full Disclosure
L
Lohrmann on Cybersecurity
The Hacker News
The Hacker News
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Y
Y Combinator Blog
S
Security @ Cisco Blogs
C
Cyber Attacks, Cyber Crime and Cyber Security
C
Check Point Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
N
News and Events Feed by Topic
PCI Perspectives
PCI Perspectives
I
InfoQ

博客园 - xiashengwang

Rocky Linux 9 安装docker Rocky Linux 9 与Centos区别,以及软件安装dnf命令 Linux服务器安全登录:从入门到实践 putty 基础 《Linux 基础点滴》:(16)firewalld 防火墙管理命令 《Linux 基础点滴》:(15)用户管理 – 创建、删除、权限与 sudo 《Linux 基础点滴》:(14)定时任务 – 用 crontab 自动化 《Linux 基础点滴》:(13)文本编辑入门 – 使用 Vim 《Linux 基础点滴》:(12)tldr – 简化版命令手册 《Linux 基础点滴》:(11)系统信息与资源监控 – 掌握服务器状态 《Linux 基础点滴》:(10)压缩与打包 – tar 的艺术 《Linux 基础点滴》:(9)查找与过滤 – find, grep, 管道 《Linux 基础点滴》:(8)网络基础 – 查看 IP、连通性与端口 《Linux 基础点滴》:(7)进程管理 – 查看与控制运行中的程序 《Linux 基础点滴》:(6)文件权限与所有者 – 保护你的文件 《Linux 基础点滴》:(5)文件与目录操作 – 增删改查必会命令 《Linux 基础点滴》:(4)磁盘空间查看 – df 和 du 的妙用 《Linux 基础点滴》:(3)Linux 文件系统概览 – 一切皆文件 《Linux 基础点滴》:(2)SSH 连接与基础命令 – 从登录到第一次操作 《Linux 基础点滴》:(1)初识 Linux 大家族 – 发行版分类与选择 docker学习(7)-docker compose 文件 docker学习(11)- 容器的日志(log) docker学习(10)-利用Github Action 自动化部署 docker学习(9)-Docker Swarm + Nginx 跨机器负载均衡 docker学习(8)-从 Windows 开发到 Linux 部署 docker学习(6)-数据持久化与网络通信 学会 Git Tag,让版本管理不再混乱 docker学习(5)-Dockerfile docker学习(4)-Docker常用命令 docker学习(3)-一个简单的例子 docker学习(2)-安装 docker学习(1)-基本概念 Github 使用 Self-hosted Runner 实现服务器自动化部署 github创建分支 + Pull Request 合并 Git Rebase vs Git Merge:深入理解与实战选择 Git 系统学习教程:从零到团队协作 AI学习笔记(2)-OpenClaw安装 windbg分析dmp文件 docker desktop 和 Vmware冲突的解决办法
《Linux 基础点滴》:(17)SSH 密钥生成与管理 – 免密登录的利器
xiashengwang · 2026-04-25 · via 博客园 - xiashengwang

2026-04-25 11:58  xiashengwang  阅读(40)  评论()    收藏  举报

学习目标

  • 理解 SSH 密钥认证的原理(公钥/私钥)
  • 学会使用 ssh-keygen 生成密钥对
  • 掌握将公钥部署到远程服务器的方法(ssh-copy-id
  • 了解密钥权限管理和安全注意事项

核心概念

1. 什么是 SSH 密钥认证?

SSH 支持两种登录方式:密码认证和密钥认证。密钥认证更安全、更便捷,尤其适合自动化脚本和日常管理。

  • 私钥:保存在本地,必须严格保密(权限 600)。
  • 公钥:可以放在远程服务器的 ~/.ssh/authorized_keys 文件中。

登录过程:客户端用私钥签名一个请求,服务端用公钥验证签名,无需输入密码。

2. ssh-keygen 命令速查表

命令 作用 示例
ssh-keygen -t rsa -b 4096 生成 RSA 密钥对,长度 4096 位 默认保存在 ~/.ssh/id_rsa
ssh-keygen -t ed25519 生成 Ed25519 密钥对(更安全、更快) 推荐现代系统使用
ssh-keygen -y -f ~/.ssh/id_rsa 从私钥导出公钥
ssh-keygen -p -f ~/.ssh/id_rsa 修改私钥的密码短语
ssh-copy-id -p 端口 -i ~/.ssh/mykey.pub user@host 将公钥自动复制到远程服务器 git bash自带这个工具,端口是22可以省略
ssh-add -l 列出已加载到 ssh-agent 的密钥
ssh-add ~/.ssh/id_rsa 将私钥添加到 ssh-agent

3. 文件存放位置与权限

文件 用途 必须权限
~/.ssh/ SSH 配置目录 700
~/.ssh/id_rsa 私钥 600
~/.ssh/id_rsa.pub 公钥 644
~/.ssh/authorized_keys 远程服务器上存放的公钥列表 600
~/.ssh/config 客户端主机配置(别名、跳板等) 600

动手实验

实验 1:生成密钥对(Ed25519 算法)

# 生成密钥对,默认保存到 ~/.ssh/id_ed25519
ssh-keygen -t ed25519 -C "my-email@example.com"
# -C 添加注释,便于识别
# 一路回车可使用默认路径和无密码短语

实验 2:导入秘钥到远程服务器

注意:在git bash中执行,路径要用/

ssh-copy-id -p 22 -i C:/Users/wang/.ssh/id_ed25519.pub 用户名@远程服务器IP

putty用秘钥连接,参考这篇。需要将上面的私钥,转换成putty用的私钥。
putty 基础