什么是 SSH?理解 SSH 及其加密技术

远程连接服务器这件事,在没有加密的年代风险极高。用户名、密码、每一条执行的命令,全部明文跑在网络上,同一局域网里的人抓个包就能看清楚。Telnet 和 Rlogin 就是那时候的主流工具,凑合能用,但毫无保护可言。

1995年,芬兰计算机科学家 Tatu Ylönen 在自己的大学网络里遇到了一次密码嗅探攻击,随后开发出了 SSH。目标就一个:让远程连接变得真正安全。

SSH连接是怎么建立的

SSH 走的是客户端-服务器模型。客户端发起连接,双方先谈好用哪套加密算法,完成身份验证之后,建立起一条加密隧道。后续所有通信都在这条隧道里走——命令、回显、文件,一概如此。外面的人就算截到了数据包,也只是一堆乱码。

加密这块,SSH 同时用了两套机制。

握手阶段走非对称加密。服务器上存着你的公钥,你本地持有私钥。连接时服务器用公钥做验证,只有拿着对应私钥的客户端才能通过。密码全程没有在网络上出现过。

隧道建立之后切换成对称加密。双方共用一个会话密钥,每次连接单独生成,负责加解密后续所有传输内容。对称加密比非对称轻得多,这个切换在安全和性能上都说得通。

数据完整性靠哈希校验来保证。每段数据发出去的时候都带着一个哈希值,对方收到后拿来比对,不一致就说明数据在途中被动过,连接直接断掉。

什么是 SSH
什么是 SSH?

密码登录 vs 密钥登录

初次用 SSH,大多数人图省事走密码登录。填用户名、填密码,直觉上没毛病。但密码的问题在于,长度和复杂度都有上限,面对自动化爆破脚本的持续轰炸,只要时间够,迟早有被撞上的可能。

密钥认证把这条路堵死了,RSA 或 ED25519 密钥的长度和随机性根本不是手打密码能比的,暴力破解在计算上不现实。私钥还可以加 passphrase,万一密钥文件泄露,攻击者也进不去。

生产服务器建议直接在 /etc/ssh/sshd_config 里关掉密码登录:

PasswordAuthentication no
PermitRootLogin no

root 登录一并禁掉。攻击者通常第一个试的就是 root,禁掉之后他们还得先猜一个有效的普通账户,凭空多了一道门槛。

默认的 22 端口也可以改。改端口算不上安全手段,但能明显减少自动化扫描的骚扰,日志里少很多噪音。

SSH日常用途

登录云主机、执行运维命令、排查线上问题,这是 SSH 最日常的用途。对运维来说基本上开电脑第一件事就是开终端连服务器。

文件传输的话,SFTP 和 SCP 都跑在 SSH 上,全程加密,比裸 FTP 安全太多,敏感文件、配置、备份走这条路是标准做法。

代码部署这块,Git 原生支持 SSH 协议推拉代码。CI/CD 流程里部署脚本用密钥免密登录目标机器,自动跑完整个发布流程,配置里不需要硬写任何密码。

端口转发和隧道用的人相对少,但很好使。把本地端口映射到远程服务、把内网服务拉到本地访问、给不支持加密的协议套一层隧道,这些在受限网络或者内网穿透场景里经常用到。

加固的时候容易漏掉什么

SSH 协议本身这么多年下来没什么大问题,出事基本都是配置没收紧。

防火墙限制来源 IP 是最直接的办法。运维机器 IP 固定的话做个白名单,其他 IP 连握手都走不到,扫描和爆破在网络层就被挡掉了。

Fail2Ban 可以作为补充。它盯着登录失败记录,超过阈值自动封 IP,对付那种低频慢速爆破比较有效,和防火墙配合起来覆盖面更全。

服务端版本更新也容易被忽视。旧版本的漏洞在公开漏洞库里基本都能查到利用方式,更新本身不费什么事,但能堵住一批已知攻击手段。

以上几点做到位之后,针对 SSH 的常见攻击基本没有切入点。剩下的隐患通常来自私钥管理混乱或者内部操作失误,那就不是协议层能解决的事了。

常见问题

SSH 使用哪个端口?

默认情况下,SSH 使用端口 22 进行安全远程连接。虽然这是标准端口,但可以更改为自定义端口,以减少自动攻击的风险并提升安全性。

SSH 完全安全吗?

SSH 被认为高度安全,因为它采用强加密、认证和数据完整性检查。然而,其安全性依赖于正确的配置、定期更新以及遵守最佳实践规则,比如使用 SSH 密钥代替密码。

SSH 会被黑客攻击吗?

Secure Shell 本身非常难以攻破,但配置不当的服务器可能存在漏洞。弱密码、过时的软件或开放的 root 权限会使攻击者更容易攻击 SSH 目标,这也是安全加固至关重要的原因。

哪些操作系统支持 Secure Shell?

SSH 支持所有主要操作系统,包括 Linux、macOS 和 Windows。大多数基于 Unix 的系统默认支持 SSH,而 Windows 则通过内置工具或第三方客户端支持 SSH。

为什么 SSH 比老式远程访问协议更受欢迎?

SSH 取代了旧协议如 Telnet,因为它加密所有通信。这防止了攻击者拦截凭证或数据,使 SSH 在现代远程访问和服务器管理中更加安全。

原创文章,作者:余初云,如若转载,请注明出处:https://blog.jidcy.com/jsjc/2416.html

Like (1)
Previous 2026年4月13日 下午3:13
Next 2026年4月14日 上午11:06

相关推荐

  • Linux常用到的归档与压缩命令盘点

    在日常运维工作中,不可避免会打包压缩和解压文件,Linux上有多个类似功能的命令,如 tar、gzip、bzip2、xz、zip,今天就跟大家一起区分一下并学会如何高效实用它们。 …

    2026年5月7日
    0
  • 网站采用CDN加速的好处

    在数字内容高速增长、用户对网络体验要求不断提升的背景下,CDN 内容分发网络通过就近缓存与智能调度,为网站加速、视频点播、文件分发等场景提供高效稳定的内容传输能力。CDN(内容分发…

    2026年6月16日
    0
  • 云原生是什么?到底解决什么问题?

    云计算普及的同时,”云原生”这个新的应用分类也随之出现。这个词越来越频繁地出现在开发者对话和技术文章中,却因为过度使用成了一个时髦词汇,反而让真正有价值的技…

    2026年4月11日
    0
  • 如何在 Ubuntu 22.04 和 24.04 上安装 Git

    Git 可在 Ubuntu 默认的 22.04 LTS 和 24.04 版本中直接安装,因此安装过程非常快捷。较为复杂的部分是配置 GitHub 或 GitLab 的 SSH 密钥…

    2026年3月27日
    0
  • 什么是SQL注入?SQL注入如何防范?

    一、SQL注入 1、什么是SQL注入? SQL注入属于较为常见的一种网络攻击手法,主要攻击目标锁定在数据库上,针对程序员在编写代码时出现的疏漏,借助SQL语句,达成无需账号即可登录…

    2026年7月10日
    0
  • 什么是BGP高防服务器?

    什么是BGP呢? 百度百科给出的解释是:边界网关协议(BGP)是运行于 TCP 之上的一种自治系统的路由协议。BGP 是唯一一个用来处理像互联网规模的网络的协议,也是唯一能够妥善处…

    2026年6月3日
    0
  • 一文读懂什么是DDoS高防IP?

    什么是DDoS高防IP? DDoS高防IP是网络安全厂商针对解决互联网服务器遭遇大流量DDoS攻击后造成服务不可用的状况,所推出的付费增值方案。企业可通过部署DDoS高防IP服务,…

    2026年6月1日
    0
  • MongoDB是什么?优缺点、特点及应用场景一网打尽!

    在数字化时代,数据库扮演着至关重要的角色,无论是个人用户还是企业,都需要具备数据存储、缓存、搜索索引、异步处理以及批量处理等功能。目前存在多种不同的数据库和数据管理系统,其中Mon…

    2026年4月2日
    0
  • 服务器接入高防IP后有哪些作用?

    什么是高防IP?高防IP是由高防数据中心所提供的IP地址段,主要面向网络服务器在遭遇大规模DDoS攻击时所提供的防护服务。高防IP是当前最为普遍的一种抵御DDoS攻击的方式,用户可…

    2026年6月4日
    0
  • 选择共享虚拟主机建站好不好?

    在数字化办公普及的当下,不少企事业单位都将搭建官方网站纳入计划表,在搭建网站时,很多站长采用虚拟主机是觉得虚拟主机使用起来非常方便,但一些站长也觉得虚拟主机的性能不如云服务器。今天…

    2026年5月21日
    0