理论课40分钟

32课:应用层协议综合

Telnet、SSH与远程管理

教学目标

1了解Telnet和SSH的区别
2掌握SSH远程连接方法
3理解远程管理在运维中的重要性

📖 课前导入

网络设备和服务器通常放在机房里,但管理员不可能每次都跑去机房接键盘显示器。我们需要远程管理——通过网络连接到设备的命令行。

今天学两个远程管理协议:Telnet(已淘汰但必须了解)和SSH(当今标准),以及应用层协议的全面总结。

🎯 本课目标:理解Telnet明文传输的安全风险,掌握SSH的加密原理和两种认证方式(密码/密钥),能配置和使用SSH远程管理设备,记住所有应用层协议端口号。

📚 一、Telnet远程登录

Telnet简介

Telnet(Teletype Network)是最早的远程登录协议(1969年),使用TCP端口23,提供基于文本的远程命令行访问。

Telnet连接 + Wireshark抓包对比
// 模拟终端 - 点击"执行下一条"或按回车运行命令
// 共 2 条命令,已执行 0
C:\>
注意

Telnet的致命缺点——明文传输

用户名和密码明文传输——抓包直接可见

所有命令和输出明文传输——操作内容被窃听

没有数据完整性校验——数据可被篡改(中间人攻击)

没有服务器身份验证——可能连到伪造的设备

生产环境中严禁使用Telnet!唯一合法用途:telnet IP 端口号 测试端口连通性。

📚 二、SSH安全远程登录 ⭐核心

SSH简介

SSH(Secure Shell)使用TCP端口22,提供加密的远程登录、命令执行和文件传输。它是Telnet的安全替代品,是Linux/Unix/网络设备管理的行业标准

🔐

数据加密

AES-256等算法加密所有传输数据

🆔

身份认证

密码认证 + 密钥认证(更安全)

🛡️

完整性校验

HMAC防止数据被篡改

📁

多功能

SFTP文件传输、端口转发、X11转发

SSH两种认证方式

1. 密码认证(简单但不够安全)

ssh admin@192.168.1.1

Password: **** ← 输入密码

密码可能被暴力破解。适合临时使用。

2. 密钥认证(推荐!最安全)

ssh-keygen -t rsa -b 4096 ← 生成密钥对

ssh-copy-id admin@server ← 把公钥传到服务器

ssh admin@server ← 免密登录!

私钥留在本地,公钥放服务器。没有私钥就无法登录。

SSH密钥认证配置实战
// 模拟终端 - 点击"执行下一条"或按回车运行命令
// 共 3 条命令,已执行 0
C:\>

Telnet vs SSH 全面对比 ⭐必考

对比项TelnetSSH
端口TCP 23TCP 22
加密❌ 明文传输✅ AES-256加密
认证方式仅密码密码 + 公钥密钥
数据完整性❌ 可被篡改✅ HMAC校验
文件传输✅ SFTP/SCP
端口转发✅ 隧道功能
使用场景已淘汰生产环境标准

SSH安全最佳实践

1. 禁用密码认证,只用密钥认证

2. 修改默认端口(22→其他端口),减少扫描攻击

3. 禁止root直接登录(PermitRootLogin no)

4. 使用fail2ban防止暴力破解

5. SSH版本用SSHv2,禁用SSHv1(有漏洞)

6. 设置空闲超时(ClientAliveInterval)

📚 三、常用SSH客户端工具

💻 Windows

  • PowerShell/CMD:Win10+内置OpenSSH客户端
  • PuTTY:经典免费SSH客户端(图形界面)
  • MobaXterm:多功能终端(SSH+SFTP+X11)
  • SecureCRT:企业级商业SSH客户端

🐧 Linux / macOS

  • ssh命令:系统自带(ssh user@host
  • scp:基于SSH的文件复制
  • sftp:基于SSH的FTP
  • ssh-keygen:生成密钥对
SSH常用命令速查
// 模拟终端 - 点击"执行下一条"或按回车运行命令
// 共 4 条命令,已执行 0
C:\>

📚 四、应用层协议大总结 ⭐⭐必考

协议全称作用端口传输层
HTTPHyperText Transfer ProtocolWeb网页浏览80TCP
HTTPSHTTP Secure加密Web浏览443TCP
DNSDomain Name System域名→IP解析53UDP/TCP
DHCPDynamic Host Config Protocol自动分配IP67/68UDP
FTPFile Transfer Protocol文件传输20/21TCP
SMTPSimple Mail Transfer Protocol发送邮件25TCP
POP3Post Office Protocol 3收取邮件(下载)110TCP
IMAPInternet Message Access Protocol收取邮件(同步)143TCP
SSHSecure Shell安全远程登录22TCP
TelnetTeletype Network远程登录(不安全)23TCP
SNMPSimple Network Management Protocol网络设备管理161/162UDP
NTPNetwork Time Protocol时间同步123UDP
RDPRemote Desktop ProtocolWindows远程桌面3389TCP

端口号记忆口诀

FTP 20/21 | SSH 22 | Telnet 23 | SMTP 25 | DNS 53 | DHCP 67/68 | HTTP 80 | POP3 110 | NTP 123 | IMAP 143 | SNMP 161 | HTTPS 443 | RDP 3389

SSH远程管理全流程实战

使用PuTTY和命令行SSH连接Linux服务器和网络设备,演示密码登录→生成密钥→配置免密登录→SCP文件传输

15:00
SSH远程管理全流程实战推荐视频15:00

使用PuTTY和命令行SSH连接Linux服务器和网络设备,演示密码登录→生成密钥→配置免密登录→SCP文件传输

✅ 课堂小测

随堂测验

1/7

SSH使用哪个端口号?

📋 本课小结

1

Telnet:端口23,明文传输=不安全,已淘汰。仅用于 telnet IP port 测试端口。

2

SSH:端口22,加密+认证+完整性,支持密码和密钥两种认证。生产环境唯一选择。

3

密钥认证:ssh-keygen生成→ssh-copy-id分发→免密登录。比密码认证更安全。

4

协议端口:HTTP 80 / HTTPS 443 / FTP 20-21 / SSH 22 / DNS 53 / DHCP 67-68 / SMTP 25。

🤔 课后作业

动手实验

  1. 在Windows PowerShell中尝试 ssh localhost(或用PuTTY连接虚拟机),体验SSH登录流程。
  2. telnet www.baidu.com 80 测试Web服务端口连通性(输入 GET / HTTP/1.0 看返回)。
  3. 用Wireshark分别抓Telnet和SSH的包,对比明文 vs 加密的区别。

思考题

  1. 为什么SSH密钥认证比密码认证更安全?如果私钥泄露了怎么办?
  2. 如何判断一台服务器是否开放了SSH服务?(提示:用telnet或nmap测试端口22)

🏆 模块七总结:应用层——离用户最近的一层

应用层模块学习完毕!我们掌握了互联网上最常用的协议:

第27课:DNS

域名层次、解析过程、记录类型

第28课:HTTP/HTTPS

请求方法、状态码、TLS加密

第29课:DHCP

DORA四步、租约、中继

第30课:FTP

双连接、主动/被动模式、SFTP

第31课:电子邮件

SMTP发邮件、POP3/IMAP收邮件

第32课:Telnet/SSH

远程管理、密钥认证、协议总表

接下来进入网络安全模块——了解网络威胁,学习防火墙和加密技术!