SSH 工程化运维基础
本文最后更新于 2026年6月25日 上午
SSH 工程化运维基础
一、SSH 概述
SSH(Secure Shell)是一种安全远程连接协议,用于在不可信网络中建立加密通信通道。
主要功能:
- 远程登录服务器
- 远程执行命令
- 文件传输
- 自动化运维管理
典型连接方式:
1 | |
其中:
- root:远程用户
- 192.168.1.10:目标主机地址
二、SSH 服务管理
Linux 中 SSH 服务通常由 sshd(SSH Daemon)提供。
查看服务状态:
1 | |
Ubuntu 系统:
1 | |
确认服务运行状态是排查连接问题的第一步。
三、常用 SSH 命令
远程登录
1 | |
指定端口连接
1 | |
远程执行命令
1 | |
查看系统负载:
1 | |
查看磁盘空间:
1 | |
远程执行命令是自动化运维脚本的重要基础。
四、SSH 配置文件管理
SSH 客户端支持配置别名,避免重复输入连接参数。
配置文件位置:
1 | |
示例:
1 | |
配置完成后可直接连接:
1 | |
常用于管理多台服务器和生产环境。
五、SSH 密钥认证机制
SSH 推荐使用公钥认证代替密码认证。
生成密钥:
1 | |
生成文件:
1 | |
说明:
| 文件 | 作用 |
|---|---|
| id_rsa | 私钥 |
| id_rsa.pub | 公钥 |
私钥必须严格保管,禁止上传公共代码仓库或共享给他人。
六、配置免密登录
推荐使用:
1 | |
该命令会自动将公钥写入目标主机:
1 | |
验证免密:
1 | |
无需输入密码即表示配置成功。
免密认证是批量部署、自动化脚本和 CI/CD 系统的重要基础。
七、known_hosts 与主机校验
首次连接服务器时会出现指纹确认提示。
SSH 会将已信任主机记录到:
1 | |
作用:
- 验证服务器身份
- 防止中间人攻击
- 检测主机指纹变化
若服务器重装或更换系统,可能出现:
1 | |
清除旧记录:
1 | |
八、SCP 文件传输
SCP 基于 SSH 协议实现安全文件传输。
上传文件:
1 | |
下载文件:
1 | |
上传目录:
1 | |
适用于配置同步、程序发布和备份传输等场景。
九、SSH 自动化运维
SSH 的核心价值在于批量管理和自动化控制。
批量执行命令:
1 | |
批量分发文件:
1 | |
批量部署程序:
1 | |
十、工程化运维实践建议
建立 SSH 运维体系时应遵循以下原则:
- 统一使用密钥认证
- 为服务器配置 SSH 别名
- 定期清理无效公钥
- 使用最小权限原则管理账号
- 批量操作前先进行测试验证
- 将 SSH 纳入自动化脚本体系
掌握 SSH 不仅意味着能够远程登录服务器,更重要的是构建标准化、自动化和可维护的运维管理流程。
SSH 工程化运维基础
http://example.com/b07ab7fb.html