SSH 加固实战:从密码登录到密钥 + command= 限制
背景服务器默认用密码登录 SSH全世界扫描器每天来撞几十万次。想改成只允许密钥登录顺便给 CI 密钥加个只能跑部署脚本的限制。原因密码可以暴力破解。密钥几乎不能——它需要你的私钥文件光猜是猜不到的。再加上 command 限制即使私钥泄露攻击者也只能执行指定的一条命令——把爆炸半径从整个服务器缩小到一个脚本。解决禁用密码登录和 root 登录sudonano/etc/ssh/sshd_config改这几行PermitRootLogin no PasswordAuthentication no PubkeyAuthentication yes MaxAuthTries 3重启sudosystemctl restart sshd⚠️先确认你的密钥能登录再重启——否则会把自己锁在外面。sudosshd-T|grep-Epermitrootlogin|passwordauthentication|maxauthtries输出permitrootlogin no passwordauthentication no maxauthtries 3给 CI 密钥加 command 限制打开 ~/.ssh/authorized_keys找到 CI 密钥那一行比如末尾注释是 github-actions-deploy在最前面加上command/home/你的用户名/你的项目目录/deploy.sh,no-port-forwarding,no-pty ssh-ed25519 AAAA... github-actions-deploy含义command“…” → 这个密钥登录后只能执行这条命令不能执行别的no-port-forwarding → 禁止端口转发防止用 SSH 隧道绕过限制no-pty → 不分配终端防止进入交互式 shell验证个人密钥仍能登录新开一个终端不要关闭当前会话执行sshYOUR_USERYOUR_SERVER_IP能进 → 加固没把自己锁外面。验证 CI 密钥仍能部署改一行代码 pushcd/home/YOUR_USER/appechoREADME.mdgitaddREADME.mdgitcommit-mtest: SSH 加固后验证gitpush去 GitHub Actions 看结果。绿色 加固没破坏 CI/CD。三个坑坑 1改完 SSH 配置直接重启——先另开一个窗口验证密钥能登录确认没锁死再关旧会话。坑 2command 后面写相对路径。必须是绝对路径比如 /home/YOUR_USER/app/deploy.sh否则执行时会找不到文件。坑 3CI 密钥加了 command 限制后它能执行的只有这一条命令。如果 deploy.sh 里调用了别的脚本那些脚本依然能被执行子进程不算新命令。所以加固的真正边界是deploy.sh 里的内容——deploy.sh 要写安全别在里面 eval 用户输入。

相关新闻

如何快速安装第一个学术技能:Academic Forge 新手入门指南(Windows/macOS/Linux 全支持)

如何快速安装第一个学术技能:Academic Forge 新手入门指南(Windows/macOS/Linux 全支持)

如何快速安装第一个学术技能:Academic Forge 新手入门指南(Windows/macOS/Linux 全支持) 【免费下载链接】AcademicForge One Forge, All Skills: A curated skill collection for academic writing and research. 点开即用,按需配…

2026/10/2 17:09:34 阅读更多 →
CSS默认可继承样式:用TaoToken统一Key梳理继承属性清单与调试路径

CSS默认可继承样式:用TaoToken统一Key梳理继承属性清单与调试路径

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 17:09:34 阅读更多 →
VSCode插件消失别慌,TaoToken帮你排查配置问题

VSCode插件消失别慌,TaoToken帮你排查配置问题

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 17:09:34 阅读更多 →

最新新闻

系统部署手册重构:从Word模板到可执行防翻车文档

系统部署手册重构:从Word模板到可执行防翻车文档

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 17:41:50 阅读更多 →
非齐次方程特解求解:待定系数法与特征根共振修正

非齐次方程特解求解:待定系数法与特征根共振修正

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 17:41:50 阅读更多 →
Python批量下载Sentinel-2遥感数据:新平台CDSE实操与避坑指南

Python批量下载Sentinel-2遥感数据:新平台CDSE实操与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 17:41:50 阅读更多 →
ubuntu进行apt-get时候出现Package xxx is not available, but is referred to by another package 错误

ubuntu进行apt-get时候出现Package xxx is not available, but is referred to by another package 错误

当出现上述问题时 首先更新系统软件源 更新本地软件包索引(获取最新版本信息) sudo apt-get update #升级已安装包 sudo apt-get upgrade 接着再装试一试 sudo apt-get install 如果还不行就要更新软件源 Ubuntu 更新软件源的方法 1、打开终端&#xff…

2026/10/2 17:41:50 阅读更多 →
USB 2.0物理层实战:示波器抓取D+/D-信号波形指南

USB 2.0物理层实战:示波器抓取D+/D-信号波形指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 17:41:50 阅读更多 →
DRV8818与MK24FN1M0步进驱动实战:从原理到调试全解析

DRV8818与MK24FN1M0步进驱动实战:从原理到调试全解析

上一台三轴自动化设备调完,我把驱动方案定在了DRV8818PWPR和MK24FN1M0VDC12这套组合上。做工业设备和机器人控制的同行应该都知道,双极步进电机的驱动方案看起来简单——一个H桥、一组脉冲——但真要跑到高速不丢步、负载变化不发热、现场干扰不误动作&a…

2026/10/2 17:40:49 阅读更多 →

日新闻

从零搭建AI工程化:模型之外的完整闭环

从零搭建AI工程化:模型之外的完整闭环

先搞清楚一件事:从零开始做 AI 工程化,难的从来不是调模型、写提示词,而是把一套原型 Demo 变成长得像是“正经系统”的东西。你手里可能已经有了能跑通的代码,也可能刚读完一些概念,但真到了要把它变成可维护、可观测…

2026/10/2 0:00:20 阅读更多 →
大模型训练显存估计与混合精度训练实战指南

大模型训练显存估计与混合精度训练实战指南

1. 大模型训练显存估计与混合精度训练详解显存不够用,几乎是每个做大模型训练的人都会撞上的第一堵墙。你可能也经历过:模型代码写完了,数据管道跑通了,满心欢喜地按下训练启动脚本,结果几秒钟后终端弹出一行红字——C…

2026/10/2 0:00:20 阅读更多 →
小样本学习数据集选型指南:27个真正可用的高质量数据集

小样本学习数据集选型指南:27个真正可用的高质量数据集

1. 小样本学习的“弹药库”:为什么你总在找数据集,却总找不到真正能用的? 小样本、数据集——这两个词最近半年在我处理的200多个AI项目咨询里,出现频率排进前三。不是模型调不好,不是代码写不对,而是卡在…

2026/10/2 0:00:20 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 19:40:48 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/1 19:41:40 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/10/1 20:05:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 10:36:31 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 5:26:06 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 6:09:11 阅读更多 →