1. SSH密钥对基础概念第一次接触SSH密钥对时我完全被公钥和私钥这两个术语搞晕了。后来发现理解它们其实有个很简单的比喻想象公钥是一把特殊的锁私钥就是唯一能打开这把锁的钥匙。你可以把锁公钥随便发给别人但钥匙私钥必须牢牢保管在自己手里。SSHSecure Shell密钥对实际上是由两个数学上关联的文件组成私钥相当于你的数字身份证必须严格保密公钥可以自由分发用来验证私钥持有者的身份这种机制比传统密码安全得多因为不再需要记忆复杂密码完全免疫暴力破解支持自动化操作比如定时备份可以设置多因素认证密钥密码短语我管理着二十多台服务器全部采用密钥认证后再也不用担心密码泄露问题。有一次团队成员的密码被暴力破解但因为启用了密钥登录黑客依然无法入侵。2. 生成SSH密钥对2.1 检查现有密钥在生成新密钥前建议先检查是否已有现成的密钥。这个步骤很多教程会忽略但非常重要——覆盖现有密钥可能导致服务中断。ls -al ~/.ssh正常应该看到类似这样的输出total 24 drwx------ 2 user user 4096 Jun 15 10:30 . drwxr-xr-x 18 user user 4096 Jun 15 10:30 .. -rw------- 1 user user 2610 Jun 15 10:30 id_rsa -rw-r--r-- 1 user user 580 Jun 15 10:30 id_rsa.pub如果看到id_rsa和id_rsa.pub或者id_ed25519开头的文件说明已经存在密钥对。2.2 生成新密钥现在主流的密钥类型有两种选择RSA兼容性最好推荐2048位以上Ed25519更安全高效但旧系统可能不支持生成Ed25519密钥推荐ssh-keygen -t ed25519 -C your_emailexample.com生成4096位RSA密钥兼容旧系统ssh-keygen -t rsa -b 4096 -C your_emailexample.com执行后会提示保存路径直接回车用默认位置设置密码短语建议设置增加安全性确认密码短语注意密码短语是可选的但强烈建议设置。即使私钥被盗没有密码短语也无法使用。3. 密钥管理最佳实践3.1 密码短语管理我见过太多人因为怕麻烦不设密码短语结果私钥泄露导致严重安全事故。其实可以用ssh-agent解决频繁输入的问题# 启动ssh-agent eval $(ssh-agent -s) # 添加私钥到agent ssh-add ~/.ssh/id_ed25519在Mac上更简单ssh-add --apple-use-keychain ~/.ssh/id_ed25519这样密码短语会保存在钥匙串中后续无需重复输入。3.2 多密钥管理当需要管理多个服务时建议为不同用途创建独立密钥ssh-keygen -t ed25519 -f ~/.ssh/github_ed25519 ssh-keygen -t ed25519 -f ~/.ssh/work_ed25519然后创建~/.ssh/config文件管理不同配置Host github.com HostName github.com User git IdentityFile ~/.ssh/github_ed25519 Host work-server HostName 203.0.113.1 User admin IdentityFile ~/.ssh/work_ed25519 Port 22224. 部署公钥到各平台4.1 部署到Linux服务器最常用的场景操作步骤复制公钥到剪贴板cat ~/.ssh/id_ed25519.pub | pbcopy # Mac cat ~/.ssh/id_ed25519.pub | xclip -sel clip # Linux登录目标服务器确保~/.ssh目录存在mkdir -p ~/.ssh chmod 700 ~/.ssh添加公钥到授权列表echo 粘贴的公钥内容 ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys实测发现如果authorized_keys文件权限太开放SSH会拒绝使用它。所以务必设置600权限。4.2 部署到GitHub/Gitee登录GitHub → Settings → SSH and GPG keys点击New SSH key标题建议用设备名服务名格式如MacBook-ProGitHub粘贴公钥内容以ssh-ed25519或ssh-rsa开头Gitee操作类似登录后进入设置-SSH公钥添加公钥时建议备注使用设备信息4.3 部署到Azure/AWSAzure CLI可以直接生成并部署密钥az vm create \ --name myVM \ --resource-group myResourceGroup \ --image UbuntuLTS \ --generate-ssh-keys \ --ssh-key-name myAzureKeyAWS EC2在创建实例时可以在Key Pair步骤选择Import existing public key。5. 高级应用场景5.1 使用密钥进行Git操作配置Git使用指定密钥git config --global core.sshCommand ssh -i ~/.ssh/github_ed25519 -F /dev/null或者针对特定仓库git config core.sshCommand ssh -i ~/.ssh/work_ed255195.2 端口转发通过SSH隧道安全访问内网服务ssh -i ~/.ssh/work_ed25519 -L 3306:localhost:3306 userserver这个命令将服务器的3306端口映射到本地的3306端口适合临时访问数据库。5.3 批量部署密钥使用ssh-copy-id工具快速部署ssh-copy-id -i ~/.ssh/id_ed25519.pub userserver如果需要批量操作可以结合for循环for server in server1 server2 server3; do ssh-copy-id -i ~/.ssh/id_ed25519.pub admin$server done6. 故障排查技巧6.1 连接失败常见原因权限问题chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keysSELinux限制CentOS/RHELrestorecon -Rv ~/.ssh服务未启动sudo systemctl restart sshd6.2 调试模式添加-v参数查看详细日志ssh -v -i ~/.ssh/id_ed25519 userserver三级详细日志最多信息ssh -vvv userserver6.3 密钥指纹验证检查远程服务器指纹ssh-keyscan server | ssh-keygen -lf -与自己保存的指纹对比防止中间人攻击。7. 安全增强措施禁用密码登录配置后务必测试密钥登录正常sudo sed -i s/#PasswordAuthentication yes/PasswordAuthentication no/ /etc/ssh/sshd_config sudo systemctl restart sshd限制root登录echo PermitRootLogin no | sudo tee -a /etc/ssh/sshd_config使用Fail2Ban防护sudo apt install fail2ban sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local定期轮换密钥ssh-keygen -p -f ~/.ssh/id_ed25519记得更新所有部署过公钥的地方。
Python for i in range 循环的实战技巧与进阶用法解析 1. Python range()函数的核心特性解析 range()函数是Python中最基础却又最强大的工具之一,它生成的整数序列在数据处理、算法实现和自动化操作中扮演着关键角色。先来看一个实际场景:假设你需要批量处理1000个文件,手动编写0到999的序列显然不…
【信息科学与工程学】计算机科学与自动化-——第十五篇云计算 12 公有云里的“多Region + 多AZ“ 01 算法06 编号 类别 模型配方 单/双/多Region+单/双/多AZ IaaS/PaaS/SaaS/其他 功能 应用场景 算法/模型名称 数据结构列表 算法逐步思考推理的数学方程式及参数列表及参数的值范围及各类边界条件(含所有要求细节) 底层硬件需求 时序数学方程式 误差/算法复杂度 底层规律…
3个关键技巧:Rufus让老旧电脑也能安装Windows 11的完整方案 3个关键技巧:Rufus让老旧电脑也能安装Windows 11的完整方案 【免费下载链接】rufus The Reliable USB Formatting Utility 项目地址: https://gitcode.com/GitHub_Trending/ru/rufus 你是否曾因电脑硬件不符合Windows 11的官方要求而烦恼?微软设定…
【ChatGPT读书笔记黄金公式】:20年知识管理专家亲授——3步生成高留存、可复盘、带思考链的智能笔记(附5类经典书单Prompt模板) 更多请点击: https://kaifayun.com 第一章:ChatGPT读书笔记的范式革命 传统读书笔记依赖线性摘录、手动归纳与静态归档,而ChatGPT的介入正重构知识摄取与再生产的基本逻辑。它不再仅作为问答工具,而是成为具备上下文理解、语义聚…
GLM-4V-Flash多模态模型解析与应用实践 1. GLM-4V-Flash模型的技术特性解析智谱最新推出的GLM-4V-Flash模型作为其多模态产品线的轻量级版本,在保持核心视觉理解能力的同时,显著提升了推理速度和经济性。该模型基于GLM-4V架构优化,专门针对需要快速响应的应用场景进行了深度裁剪。1…
抖音下载器技术深度解析:双引擎架构与智能批量处理实现原理 抖音下载器技术深度解析:双引擎架构与智能批量处理实现原理 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback …
M4芯片本地大模型部署优化与性能实测 1. M4芯片本地模型部署现状与挑战2026年的今天,搭载M4芯片的Mac设备已经成为本地大模型运行的主力平台之一。32GB统一内存的配置尤其适合运行量化后的中型语言模型,在保持不错性能的同时实现真正的本地化部署。但很多用户在尝试时都会遇到一个核心矛盾&a…
Claude桌面端第三方大模型接入实战指南 1. Claude桌面端第三方模型接入实战指南作为AI领域的深度实践者,最近在Claude桌面端上成功实现了第三方大模型的接入,整个过程踩了不少坑也积累了些实用经验。不同于官方文档的标准化说明,这里分享的是真正从实操中总结的配置方案,…
2026 营口贵金属回收行业全解析:千足金 / 18K / 铂金 / 白银 / 钻石交易标准、门店实测、避坑体系完整拆解 - 不晚生活号 2026 年国内黄金大盘持续高位震荡,辽南营口全域居民闲置贵金属变现需求大幅上涨。城区以投资金条、品牌 18K 轻奢、GIA 钻戒为主,老边城郊、盖州乡镇存量大量祖传手工老金、老式婚嫁三金、银质摆件。但本地回收行业准…
A--10 Codex Review与GitHub PR工作流实战指南:从代码审查到安全合并 摘要:本文系统讲解如何利用Codex App的Review功能与GitHub PR工作流,实现从代码修改到安全合并的完整流程。涵盖Review面板深度使用、/review命令实战、GitHub Connector配置、PR描述撰写技巧,以及常见问题排查方法。通过多个实战案例和流程图,帮助开发者建立高效的AI辅助代…
遗传算法解5皇后问题:从Hello World到工业优化的进化实验室 1. 项目概述:为什么用遗传算法解5皇后问题,而不是直接回溯?我带过十几届算法课,也给不少初创团队做过AI架构咨询。每次讲到组合优化问题,学生和工程师的第一反应永远是“写个回溯试试”。这没错——55棋盘上找所有合法…
5.1V稳压管输出为何只有4.7V?工作电流与负载影响分析 前几天调试一个简单的电源模块,用到了5.1V稳压管。电路接好,上电测试,万用表一量——输出居然只有4.7V。第一反应是稳压管坏了,换了一个新的,结果还是4.7V。这让我想起很多初学者都会遇到的困惑:明明标称5.…
PlantUML 实战:5分钟将 UML 2.5 序列图转换为可执行代码草图 PlantUML 实战:5分钟将 UML 2.5 序列图转换为可执行代码草图 在软件开发过程中,清晰的系统设计往往比编码本身更为关键。传统拖拽式UML工具虽然直观,却常常成为效率杀手——频繁的鼠标操作打断设计思路,版本控制困难,…
【RT-DETR涨点改进】29 动态Batch推理:让RT-DETR在低延迟下吃满GPU算力 29 动态Batch推理:让RT-DETR在低延迟下吃满GPU算力 开篇故事 上个月帮一家安防厂商做项目优化,他们用RT-DETR做实时人流统计,部署在NVIDIA A10上。客户反馈说:“GPU利用率才30%,但延迟已经飙到40ms了,加人流量就丢帧。” 我远程一看,好家伙——生产环境里每个请求单独…
Postman 环境变量实战:3种动态设置方法与CI/CD集成避坑指南 Postman 环境变量高阶实战:动态管理与 CI/CD 深度集成在接口自动化测试领域,环境变量的灵活运用往往成为区分初级与高级测试工程师的关键能力。本文将深入探讨 Postman 环境变量的三种动态设置模式,并分享 Newman 在 CI/CD 流水线中的实战避坑…
[C++]内存管理:串顺序存储的内存回收 在串(字符串)的顺序存储中,内存回收的方式取决于字符串的存储方式以及所使用的编程语言和相关库。以下以 C 为例进行说明,因为 C 对内存管理有较为直接的控制。 1. 基于 char 数组的串顺序存储 如果使用普通的 char 数组来存储字…
移动端游戏功耗测试实战:电流、功率、亮度和场景对比 移动端游戏功耗测试:先控制变量,再比较优化是否真的省电 摘要:功耗测试最容易犯的错误,是拿两次不同温度、不同亮度、不同场景的平均功率直接比较。本文给出一套可复现的游戏功耗测试方法,覆盖引擎特性验证、版本回归和黑盒体验测试,并说明如何把功耗与帧率、温控、CPU/G…
足球口袋教练 HarmonyOS 离线应用实战(03/20):ArkUI 首页仪表盘搭建 本文是“足球口袋教练 HarmonyOS 离线应用实战”系列第 3 篇。示例项目是一个 HarmonyOS / ArkTS / ArkUI 编写的离线足球训练助手,围绕真实页面、真实截图和可复现操作展开。 本篇要解决的问题 训练 App 的首页不能只展示欢迎语,它要解决“我现在该点哪…