Hello Hugo

这是我的第一篇 Hugo 博客文章,测试一下写作流程。 为什么选 Hugo 因为安装简单、生成快、内容是 Markdown,不被任何平台锁定。 来段代码高亮试试: def hello(): print("hello blog")

July 28, 2026 · 1 min · Eric Zeng

SSH (Secure Shell) 完全指南

📖 导读:这篇文章面向第一次接触 SSH 的新手。正文保留原技术内容,对出现的专业名词和概念用 💡 注 的形式补充通俗解释,帮你扫清理解障碍。命令部分可以直接照抄使用。 SSH(Secure Shell)是一种加密的网络协议,用于在不安全的网络上安全地运行网络服务。它最常用于远程登录到计算机系统,执行命令,也支持文件传输、端口转发等功能。SSH 是系统管理员、开发人员和运维工程师的必备工具。 💡 注(网络协议):协议就是两台计算机约定好"怎么互相说话"的规则–数据以什么格式发送、对方怎么回应。SSH 是其中一种专门用于"安全远程操作"的协议。 💡 注(加密):加密就是把原本明文的数据用数学方法打乱成一串乱码,只有持有"钥匙"的人才能还原。这样即使数据在网络传输途中被别人截获,看到的也是乱码,无法读懂内容。 💡 注(远程登录):就是你在自己的电脑上,通过网络操作另一台电脑,效果就像坐在那台电脑前敲键盘一样。常用于管理服务器–服务器通常放在机房或云端,你没法物理接触。 1. 什么是 SSH? SSH 是 Secure Shell 的缩写,它替代了早期的 Telnet、rlogin 等不安全的远程登录协议。SSH 通过对所有通信数据进行加密和认证,防止了中间人攻击、窃听、连接劫持等风险。 💡 注(三种攻击通俗解释): 窃听:别人在网络上"偷听"你发的数据。早期 Telnet 明文传输,密码都能被直接读出来。 中间人攻击:攻击者冒充服务器(或客户端)插在你们中间,转发并窃取信息。 连接劫持:攻击者在你已经连上之后,强行接管你的连接。 SSH 的加密和认证机制能防住这三种。 SSH 的主要组件 SSH 客户端:用于发起连接的软件,如 OpenSSH 客户端(ssh 命令)、PuTTY、Termius 等。 SSH 服务器:运行在远程主机上的守护进程(sshd),接受客户端的连接请求。 加密技术:SSH 使用公钥密码学进行身份认证,并使用对称加密(如 AES)保护会话数据。 协议版本:目前主流的是 SSH-2,修复了 SSH-1 中的安全漏洞。 💡 注(守护进程 daemon):守护进程就是一直在后台运行、默默等待任务的服务程序。sshd 里的 d 就代表 daemon。它开机就启动,一直监听"有没有人来连接",有人连就处理。 💡 注(公钥密码学 / 对称加密):这是两种加密方式,后文"密钥认证"会详细讲公钥密码学。这里先知道:对称加密 = 加密和解密用同一把钥匙(速度快,用来加密会话内容);公钥密码学 = 一对钥匙,一把公开一把保密(用来做身份认证)。 SSH 工作原理简述 连接建立:客户端向服务器发起 TCP 连接(默认端口 22)。 版本协商:双方交换协议版本。 密钥交换:通过 Diffie-Hellman 算法生成共享密钥,用于后续对称加密。 服务器认证:客户端验证服务器的主机密钥(通常存储在 ~/.ssh/known_hosts 中)。 用户认证:客户端通过密码、公钥等方式向服务器证明身份。 会话交互:认证成功后,双方建立加密通道,用户即可执行命令或传输文件。 💡 注(端口 port):端口可以理解为一台电脑上"信箱的编号"。一台电脑同时跑很多网络服务,IP 地址只定位到电脑,端口号定位到电脑上的具体服务。SSH 默认用 22 号端口。后面会看到很多 -p 端口号 的用法就是指定端口。 ...

July 28, 2026 · 4 min · Eric Zeng