有哪些常用的 ssh 命令 参数可以提高安全性?

简介: 本指南系统梳理SSH安全加固要点:涵盖客户端命令行参数(如禁密码、严验主机密钥)、服务端`sshd_config`核心配置(禁root、白名单用户、关转发等),以及密钥权限规范与高阶实践(端口变更、fail2ban、私钥保护),全面提升远程访问安全性。(239字)

SSH 提升安全的常用参数与配置

分为命令行临时参数、sshd_config服务端配置、客户端 ssh 参数三部分,规避弱密码、暴力破解、转发滥用等风险。

一、ssh 客户端命令行安全参数(ssh 命令时使用)

bash

# 基础安全连接示例
ssh -o参数 用户@ip

表格

参数 作用
-o StrictHostKeyChecking=yes 严格主机密钥检查,服务器密钥变化直接拒绝连接,防止中间人攻击;不自动接受陌生主机密钥
-o UserKnownHostsFile=/dev/null 不写入 known_hosts(临时测试用,生产不建议)
-o PasswordAuthentication=no 禁止密码登录,只允许密钥登录,客户端层面拒绝密码弹窗
-o ForwardAgent=no 关闭 Agent 转发,避免跳板机泄露本地私钥,高危,默认建议关闭
-o ForwardX11=no 关闭 X11 图形转发,避免漏洞利用
-o PermitLocalCommand=no 禁止本地命令执行
-o ConnectTimeout=10 连接超时 10 秒,防止挂住
-C 压缩传输(带宽差使用,安全无增益)
-2 强制使用 SSH‑2 协议,废弃 SSH‑1(现在新版默认就是 2)
-i /path/private.key 指定私钥文件,注意私钥权限必须600

示例,只允许密钥、拒绝密码、严格校验主机密钥:

bash

ssh -o PasswordAuthentication=no -o StrictHostKeyChecking=yes root@192.168.1.10

⚠️ForwardAgent=yes 很多人图方便开,风险很高:跳板机被入侵后攻击者可以使用你本地 agent 的私钥去访问其他机器,生产尽量不用。

二、服务端 /etc/ssh/sshd_config(最重要,防护服务器)

修改后必须执行 systemctl restart sshd

ini

# 1. 禁用密码登录,只密钥登录(最核心防暴力破解)
PasswordAuthentication no
ChallengeResponseAuthentication no

# 2. 禁止root直接ssh登录
PermitRootLogin no

# 3. 只允许指定用户登录,白名单
AllowUsers admin user01

# 4. 禁用废弃SSH1协议
Protocol 2

# 5. 关闭危险转发
X11Forwarding no
AllowAgentForwarding no
AllowTcpForwarding no      # 如果不需要端口转发就关掉;需要则设yes
PermitTunnel no

# 6. 减少会话闲置超时,空闲自动断开
ClientAliveInterval 300
ClientAliveCountMax 2

# 7. 最大认证尝试次数,防止暴力猜密码
MaxAuthTries 3

# 8. 限制最大并发会话
MaxSessions 5

# 9. 禁止空密码账户登录
PermitEmptyPasswords no

# 10. 公钥认证开启
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

三、密钥文件权限(安全基石,权限不对 ssh 直接拒绝)

服务端

bash

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chown -R $user:$user ~/.ssh

客户端本地私钥

bash

chmod 600 id_rsa

四、其他安全实践

  1. 修改默认 22 端口:Port 2222,降低自动化扫描攻击(不能解决真正入侵,仅减少日志噪音,不要当成主要安全手段)
  2. 配合防火墙 firewalld/iptables,只放行信任源 IP 访问 ssh 端口
  3. 安装 fail2ban,自动拉黑暴力爆破 IP
  4. 避免使用ssh -A(开启 agent 转发)
  5. 不要私钥设置无密码,私钥务必设置 passphrase;本地可用ssh‑agent缓存密码

五、排查命令

bash

# 查看sshd加载的有效配置
sshd -T

# 测试ssh配置语法是否错误,避免重启sshd直接断连
sshd -t
相关文章
|
2月前
|
存储 NoSQL 安全
用 Java 接入大模型(五):多轮对话的上下文怎么管
本文深入剖析多轮对话的核心误区:大模型本身无记忆,所谓“遗忘”实为上下文管理失当。从messages结构化封装、token精准截断策略,到Redis会话存储与三步排错法,系统讲解如何可靠构建长程对话能力。
276 7
|
4月前
|
人工智能 监控 测试技术
银行业AI架构:从裸调API到六层技能体系
# 银行AI智能体架构实战:从单体到Skill协同的技术演进 ## 痛点:银行IT架构的三重困境 走在任何一家银行的科技部走廊里,你都能听到同样的叹息:系统又慢了、需求又排不上、监管又来查了。这不是某一家银行的困境,而是整个银行业IT架构的共性问题。我们把它拆解为三重困境。 **困境一:单体系
|
4月前
|
人工智能 API 数据库
Kimi深夜突袭K3,2.8万亿参数超大水桶!直接跨入世界第一梯队!
老金我昨儿在网上瞎逛的时候,突然看到了Kimi K3的消息。 合计先打开官网看看开发者文档有没有啥信儿,结果刚打开官网,好家伙。。就看到已经上线了! ![Image](https://ucc.alicdn.com/pic/developer-ecology/p3shvhj26rigq_0488c34b2827443e9b77df8ee1e3a066.png) Kimi官网Chat窗口里已
|
4月前
|
自然语言处理 安全 测试技术
158.隐私保护新范式:用大模型生成无效内容,数据脱敏、测试数据填充、隐私保护.158
本文提出“大模型无效内容生成”新范式:通过提示词调控与参数优化,压制语义推理、保留语言形式能力,批量生成格式合规、语义通顺但无真实信息、零隐私风险的文本,高效支撑数据脱敏、测试填充与隐私保护等刚需场景。
369 8
|
5月前
|
弹性计算 JavaScript 应用服务中间件
阿里云ECS云服务器部署Vue打包静态网站:Nginx路由重定向完整配置指南
本文系统讲解如何在阿里云ECS云服务器上部署Vue.js项目打包后的静态网站,并完整配置Nginx实现路由重定向。从ECS实例选购、安全组端口放行开始,逐步展开Nginx安装、Vue项目打包与文件上传、Nginx虚拟主机配置等全流程。重点剖析Vue Router history模式下页面刷新404问题的根源,详细解读try_files指令与命名location两种Nginx配置方案。同时涵盖静态资源缓存策略、Gzip压缩优化、API反向代理配置、HTTPS证书部署等生产级实践。最后提供完整的Nginx配置模板和常见故障排查方法,帮助开发者一次性完成从本地开发到云端上线的全链路部署。
|
5月前
|
运维 监控 数据可视化
大模型日志分析与异常诊断:自动定位推理故障、Prompt 问题,高效运维.150
本文系统阐述大模型日志的核心概念、分类(推理/服务/Prompt/异常日志)与结构化格式,详解日志分析三层目标(监控、定位、根因诊断)及异常分级(INFO至FATAL),结合Token关键指标与推理链路断点溯源,提供规则匹配、统计分析和大模型智能诊断三种实战方法,并附Python可视化与自动化诊断代码示例。
617 3
|
5月前
|
人工智能 JavaScript API
从 OpenClaw 到 Hermes Agent:安装、迁移、配置、实战演示
本文详解从OpenClaw迁移到Hermes Agent的全过程:Hermes是Nous Research推出的自进化AI Agent,具备记忆闭环、自主生成技能、跨会话学习等独特能力;迁移支持一键导入配置、记忆与技能,兼容Telegram等平台,安装简便,体验更透明高效。(239字)
664 2
|
5月前
|
人工智能 JSON 定位技术
GEO站内优化深度指南:内容、JSON-LD与知识地图FAQ
本文将围绕于磊老师的这一理论框架,深入探讨GEO站内优化的核心策略,特别是内容设置、JSON-LD应用以及知识地图构建等关键环节,以FAQ形式为读者提供专业、可信、有深度的指导。
284 2