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

推荐订阅源

大猫的无限游戏
大猫的无限游戏
Webroot Blog
Webroot Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
T
Threat Research - Cisco Blogs
V2EX - 技术
V2EX - 技术
L
LINUX DO - 热门话题
Google DeepMind News
Google DeepMind News
Recorded Future
Recorded Future
S
Schneier on Security
I
InfoQ
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
The GitHub Blog
The GitHub Blog
S
Security @ Cisco Blogs
O
OpenAI News
W
WeLiveSecurity
Vercel News
Vercel News
阮一峰的网络日志
阮一峰的网络日志
Simon Willison's Weblog
Simon Willison's Weblog
人人都是产品经理
人人都是产品经理
Cloudbric
Cloudbric
The Last Watchdog
The Last Watchdog
The Hacker News
The Hacker News
Google Online Security Blog
Google Online Security Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
GbyAI
GbyAI
NISL@THU
NISL@THU
T
Tailwind CSS Blog
V
Visual Studio Blog
PCI Perspectives
PCI Perspectives
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
D
DataBreaches.Net
B
Blog RSS Feed
N
News and Events Feed by Topic
N
News and Events Feed by Topic
H
Heimdal Security Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
腾讯CDC
Latest news
Latest news
V
Vulnerabilities – Threatpost
Hacker News: Ask HN
Hacker News: Ask HN
WordPress大学
WordPress大学
V
V2EX
aimingoo的专栏
aimingoo的专栏
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
D
Darknet – Hacking Tools, Hacker News & Cyber Security
The Register - Security
The Register - Security
Help Net Security
Help Net Security

博客园 - 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 基础