5.2 SSH远程管理与安全配置
5.2 Linux SSH 远程管理与安全配置
一、SSH 基础概述
SSH(Secure Shell)是 Linux 系统最常用的远程管理协议,默认使用 TCP 22 端口,通过加密通信实现安全远程访问。
主要应用场景:
- 远程登录服务器
- 远程执行命令
- 文件传输
- 自动化运维
- 安全隧道转发
基本连接方式:
1 | |
指定端口连接:
1 | |
常用参数:
| 参数 | 说明 |
|---|---|
| -p | 指定端口 |
| -i | 指定私钥 |
| -v | 调试模式 |
| -C | 启用压缩 |
| -N | 不执行远程命令 |
二、SSH 密钥认证
相比密码认证,密钥认证具有更高的安全性,是生产环境推荐方案。
生成密钥对:
1 | |
生成文件:
1 | |
说明:
- 私钥必须严格保密
- 公钥上传至目标服务器
配置免密登录:
1 | |
测试连接:
1 | |
三、SSH 服务配置
服务端配置文件:
1 | |
修改配置后需重启服务:
1 | |
常用配置项:
修改默认端口:
1 | |
禁止 Root 登录:
1 | |
关闭密码认证:
1 | |
限制允许登录用户:
1 | |
限制空闲连接:
1 | |
四、防火墙配置
修改 SSH 端口后需同步放行对应端口。
Firewalld:
1 | |
UFW:
1 | |
查看监听状态:
1 | |
查看服务状态:
1 | |
五、常用文件与日志
| 文件路径 | 作用 |
|---|---|
| /etc/ssh/sshd_config | 服务端配置文件 |
| ~/.ssh/authorized_keys | 授权公钥列表 |
| ~/.ssh/id_rsa | 私钥 |
| ~/.ssh/id_rsa.pub | 公钥 |
| /var/log/secure | SSH 登录日志(CentOS) |
查看登录日志:
1 | |
Ubuntu/Debian:
1 | |
六、SSH 安全加固建议
推荐配置:
- 使用密钥认证替代密码认证。
- 禁止 Root 用户直接登录。
- 修改默认 SSH 端口。
- 限制允许登录的用户。
- 配置防火墙访问规则。
- 定期检查登录日志。
- 为私钥设置访问权限。
私钥权限:
1 | |
SSH 目录权限:
1 | |
不建议的做法:
- 长期使用 Root 密码登录
- 使用弱密码
- 公网暴露默认 22 端口
- 私钥存放于共享目录
- 未配置访问控制策略
七、总结
SSH 是 Linux 运维和服务器管理的核心工具。生产环境应优先采用密钥认证、关闭 Root 远程登录、限制访问用户并结合防火墙进行访问控制,从而有效提升服务器远程管理安全性。
5.2 SSH远程管理与安全配置
https://blog.sh462li.top/2026/05/28/Linux_learn/5.2 SSH远程管理与安全配置/