最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
服务器远程连接底层原理如何学
时间:2026-08-11 07:42:49 编辑:袖梨 来源:一聚教程网
SSH连接严格遵循五阶段握手:协议版本协商、密钥与算法协商、双向身份认证、会话请求、交互会话;结合非对称加密(用于身份验证与密钥交换)和对称加密(用于高效业务数据传输),依托TCP/IP协议栈自上而下协同工作。
从协议栈一层层往下拆,比死记命令有效得多。
先搞懂 TCP/IP 四层怎么协作
SSH 不是凭空跑的,它依赖整个网络协议栈:应用层(SSH)→ 传输层(TCP)→ 网络层(IP)→ 链路层(以太网/WiFi)。比如你敲 ssh [email protected],实际过程是:
- TCP 先在本地和服务器之间建连接(三次握手),端口默认是 22
- IP 层负责把数据包从你的电脑路由到目标服务器,中间可能经过多个网关
- 链路层最终把数据封装成帧,通过网线或无线信号发出去
- SSH 协议本身只在应用层“说话”,但它全程靠下三层托着走
重点吃透 SSH 的五阶段握手
每次连接不是一上来就输密码,而是严格按五个阶段推进:
- 版本协商:客户端和服务端先确认都支持 SSH-2.0
- 密钥交换:用 Diffie-Hellman 或 ECDH 协商出一个临时会话密钥(对称加密用)
- 服务端身份验证:服务器把自己的公钥指纹发给客户端,客户端检查
~/.ssh/known_hosts是否存过这个指纹 - 用户认证:支持密码、公钥、键盘交互等多种方式,公钥登录时,客户端用私钥签名一段随机数,服务端用公钥验签
- 会话建立:认证成功后,所有后续命令、输出都用会话密钥加密传输
动手抓包 + 对照日志看真实流程
光读文档容易飘,建议边连边观察:
- 用
tcpdump -i any port 22抓包,Wireshark 打开看 SYN / ACK / 数据载荷加密前后的变化 - 服务端开启详细日志:
sudo sed -i 's/#LogLevel INFO/LogLevel DEBUG3/' /etc/ssh/sshd_config && sudo systemctl restart sshd,然后sudo tail -f /var/log/auth.log - 客户端加
-v参数:如ssh -v user@host,能看到每个阶段的具体动作和密钥协商细节
别跳过加密机制的实操理解
SSH 安全不是玄学,核心是两套加密配合:
- 非对称加密(RSA/ECDSA/Ed25519)只用于初始身份认证和密钥交换,不传业务数据
- 对称加密(AES-256-GCM、chacha20-poly1305)才真正加密每一条命令和返回结果,效率高且防篡改
- 可以手动生成密钥对:
ssh-keygen -t ed25519 -C "me@home",再用ssh-keygen -l -f ~/.ssh/id_ed25519.pub看公钥指纹,和known_hosts里存的比对
相关文章
- 迅捷 FW351R 无线路由器上网时间控制 08-12
- jm天堂漫画官网入口 08-12
- Moonlit Celestial Palace Gate 08-12
- Memcached gets 命令 08-12
- 迅捷 FW351R 无线路由器网速限制设置 08-12
- ZipZap-ZipZap是一款免费的AI 助手 08-12