教学目标
📖 课前导入
网络设备和服务器通常放在机房里,但管理员不可能每次都跑去机房接键盘显示器。我们需要远程管理——通过网络连接到设备的命令行。
今天学两个远程管理协议:Telnet(已淘汰但必须了解)和SSH(当今标准),以及应用层协议的全面总结。
🎯 本课目标:理解Telnet明文传输的安全风险,掌握SSH的加密原理和两种认证方式(密码/密钥),能配置和使用SSH远程管理设备,记住所有应用层协议端口号。
📚 一、Telnet远程登录
Telnet简介
Telnet(Teletype Network)是最早的远程登录协议(1969年),使用TCP端口23,提供基于文本的远程命令行访问。
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 ← 免密登录!
私钥留在本地,公钥放服务器。没有私钥就无法登录。
Telnet vs SSH 全面对比 ⭐必考
| 对比项 | Telnet | SSH |
|---|---|---|
| 端口 | TCP 23 | TCP 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:生成密钥对
📚 四、应用层协议大总结 ⭐⭐必考
| 协议 | 全称 | 作用 | 端口 | 传输层 |
|---|---|---|---|---|
| HTTP | HyperText Transfer Protocol | Web网页浏览 | 80 | TCP |
| HTTPS | HTTP Secure | 加密Web浏览 | 443 | TCP |
| DNS | Domain Name System | 域名→IP解析 | 53 | UDP/TCP |
| DHCP | Dynamic Host Config Protocol | 自动分配IP | 67/68 | UDP |
| FTP | File Transfer Protocol | 文件传输 | 20/21 | TCP |
| SMTP | Simple Mail Transfer Protocol | 发送邮件 | 25 | TCP |
| POP3 | Post Office Protocol 3 | 收取邮件(下载) | 110 | TCP |
| IMAP | Internet Message Access Protocol | 收取邮件(同步) | 143 | TCP |
| SSH | Secure Shell | 安全远程登录 | 22 | TCP |
| Telnet | Teletype Network | 远程登录(不安全) | 23 | TCP |
| SNMP | Simple Network Management Protocol | 网络设备管理 | 161/162 | UDP |
| NTP | Network Time Protocol | 时间同步 | 123 | UDP |
| RDP | Remote Desktop Protocol | Windows远程桌面 | 3389 | TCP |
端口号记忆口诀
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文件传输
使用PuTTY和命令行SSH连接Linux服务器和网络设备,演示密码登录→生成密钥→配置免密登录→SCP文件传输
✅ 课堂小测
随堂测验
第 1/7 题SSH使用哪个端口号?
📋 本课小结
Telnet:端口23,明文传输=不安全,已淘汰。仅用于 telnet IP port 测试端口。
SSH:端口22,加密+认证+完整性,支持密码和密钥两种认证。生产环境唯一选择。
密钥认证:ssh-keygen生成→ssh-copy-id分发→免密登录。比密码认证更安全。
协议端口:HTTP 80 / HTTPS 443 / FTP 20-21 / SSH 22 / DNS 53 / DHCP 67-68 / SMTP 25。
🤔 课后作业
动手实验
- 在Windows PowerShell中尝试
ssh localhost(或用PuTTY连接虚拟机),体验SSH登录流程。 - 用
telnet www.baidu.com 80测试Web服务端口连通性(输入GET / HTTP/1.0看返回)。 - 用Wireshark分别抓Telnet和SSH的包,对比明文 vs 加密的区别。
思考题
- 为什么SSH密钥认证比密码认证更安全?如果私钥泄露了怎么办?
- 如何判断一台服务器是否开放了SSH服务?(提示:用telnet或nmap测试端口22)
🏆 模块七总结:应用层——离用户最近的一层
应用层模块学习完毕!我们掌握了互联网上最常用的协议:
第27课:DNS
域名层次、解析过程、记录类型
第28课:HTTP/HTTPS
请求方法、状态码、TLS加密
第29课:DHCP
DORA四步、租约、中继
第30课:FTP
双连接、主动/被动模式、SFTP
第31课:电子邮件
SMTP发邮件、POP3/IMAP收邮件
第32课:Telnet/SSH
远程管理、密钥认证、协议总表
接下来进入网络安全模块——了解网络威胁,学习防火墙和加密技术!