通过 SSH 访问
本章以Ubuntu 22.04 LTS为例,详解基于SSH协议的远程终端访问全流程及安全实践。
6.1 前言
SSH(Secure Shell)是Linux系统远程管理的核心协议,具备以下特性:
加密传输(默认使用AES-256-GCM算法)
端口转发(支持本地/远程/动态隧道)
密钥认证(推荐Ed25519算法)
会话保持(tmux/screen集成)
6.2 开机前准备
硬件要求
设备类型 |
规格要求 |
测试验证方法 |
---|---|---|
主机 |
支持SSH指令集扩展 |
|
网络接口 |
百兆及以上以太网卡 |
|
电源 |
支持IPMI远程管理 |
|
软件准备
安装openssh-server:
sudo apt update && sudo apt install openssh-server
验证安装包签名:
apt-key list | grep OpenSSH
6.3 开机
系统引导流程
GRUB菜单选择(默认隐藏,按
Esc
显示)内核加载阶段:
dmesg | grep "SSH" # 查看加密模块加载情况
服务启动顺序:
graph TD A[systemd] --> B[ssh.service] B --> C[生成主机密钥] C --> D[监听22端口]
6.4 网络连接
网络配置(Netplan)
编辑配置文件:
sudo nano /etc/netplan/00-installer-config.yaml
静态IP示例配置:
network: ethernets: eth0: addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 1.1.1.1] version: 2
防火墙配置
sudo ufw allow 22/tcp # 开放SSH端口
sudo ufw enable
6.5 终端访问
SSH服务端配置
修改配置文件:
sudo nano /etc/ssh/sshd_config
建议修改项:
Port 65222 # 修改默认端口 PermitRootLogin no # 禁止root登录 PasswordAuthentication no # 禁用密码认证 AllowUsers devops # 白名单用户
客户端连接方式
Windows
使用PowerShell:
ssh -p 65222 devops@192.168.1.100
Linux/macOS
ssh -i ~/.ssh/id_ed25519 -p 65222 devops@192.168.1.100
密钥管理
生成密钥对:
ssh-keygen -t ed25519 -C "ubuntu-ssh-key"
部署公钥:
ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 65222 devops@192.168.1.100
6.6 总结
性能指标对比
连接方式 |
认证延迟 |
传输速度 |
安全等级 |
---|---|---|---|
密码认证 |
300-500ms |
80MB/s |
★★☆☆☆ |
密钥认证 |
150-250ms |
95MB/s |
★★★★☆ |
证书认证 |
200-300ms |
90MB/s |
★★★★★ |
安全加固清单
启用双因素认证:
sudo apt install libpam-google-authenticator
配置自动封锁:
sudo apt install fail2ban
定期轮换密钥:
for key in ~/.ssh/*.pub; do ssh-keygen -t ed25519 -f "${key%.*}" -q -N ""; done
调试命令合集
# 查看实时连接
sudo ss -tnlp | grep sshd
# 分析登录日志
sudo journalctl -u ssh --since "10 minutes ago"
# 测试协议兼容性
nmap -sV -p 65222 --script ssh2-enum-algos 192.168.1.100
附:快速重置SSH服务
sudo systemctl restart ssh.service && sudo systemctl status ssh.service
文档版本控制
Rev 1.0.0 | 最后更新:2025-02-26 | 适用硬件版本:RK平台系列产品
版权声明
© 2025 福州牛新牛科技有限公司. 保留所有权利。