5.2 SSH远程管理与安全配置

5.2 SSH远程管理与安全配置

一、SSH 简介

SSH(Secure Shell)是 Linux 最常用的远程管理协议,用于:

  • 远程登录服务器
  • 执行命令
  • 文件传输
  • 隧道转发
  • 自动化运维

默认使用:

id
1
TCP 22 端口

SSH 通过加密通信保护数据安全,替代早期不安全的 Telnet。


二、SSH 基本连接

2.1 默认端口登录

id
1
ssh root@服务器IP

示例:

id
1
ssh root@192.168.1.10

2.2 指定端口连接

id
1
ssh -p 2222 root@服务器IP

2.3 常用 SSH 参数

参数 作用
-p 指定端口
-i 指定私钥文件
-v 显示调试信息
-C 启用压缩
-N 不执行远程命令

三、SSH 密钥认证

SSH 支持:

  • 密码认证
  • 密钥认证

生产环境推荐使用:

id
1
密钥认证

安全性更高。


四、生成 SSH 密钥对

在客户端执行:

id
1
ssh-keygen -t rsa -b 4096

默认生成:

文件 作用
~/.ssh/id_rsa 私钥
~/.ssh/id_rsa.pub 公钥

说明:

  • 私钥必须保密
  • 公钥可上传至服务器

五、配置免密登录

5.1 自动上传公钥

id
1
ssh-copy-id root@服务器IP

5.2 手动配置方式

id
1
cat ~/.ssh/id_rsa.pub | ssh root@服务器IP "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

5.3 测试免密登录

id
1
ssh root@服务器IP

配置成功后无需输入密码。


六、SSH 服务配置

SSH 服务配置文件:

id
1
/etc/ssh/sshd_config

修改配置后需要重启服务。


七、常见安全配置

7.1 修改默认端口

id
1
Port 2222

降低被自动扫描概率。


7.2 禁止 root 直接登录

id
1
PermitRootLogin no

推荐:

  • 使用普通用户登录
  • 配合 sudo 提权

7.3 禁用密码登录

id
1
PasswordAuthentication no

仅允许密钥认证。

注意:

  • 必须先确认密钥可正常登录
  • 否则可能导致无法远程连接

7.4 限制允许登录用户

id
1
AllowUsers alice bob

仅允许指定用户通过 SSH 登录。


7.5 限制 SSH 空闲时间

id
1
2
ClientAliveInterval 300
ClientAliveCountMax 2

作用:

  • 定时检测客户端状态
  • 自动断开长时间空闲连接

八、重启 SSH 服务

CentOS / RHEL

id
1
systemctl restart sshd

Ubuntu / Debian

id
1
systemctl restart ssh

九、防火墙放行 SSH 端口

如果修改 SSH 端口,需要同步开放防火墙。


firewalld

开放端口

id
1
firewall-cmd --add-port=2222/tcp --permanent

重新加载规则

id
1
firewall-cmd --reload

UFW(Ubuntu)

id
1
ufw allow 2222/tcp

十、查看 SSH 服务状态

查看运行状态

id
1
systemctl status sshd

查看监听端口

id
1
ss -tunlp | grep ssh

十一、SSH 常见文件

文件 作用
/etc/ssh/sshd_config SSH 服务端配置
~/.ssh/authorized_keys 允许登录的公钥
~/.ssh/id_rsa 私钥
~/.ssh/id_rsa.pub 公钥
/var/log/secure SSH 登录日志(CentOS)

十二、常见安全建议

建议配置

  • 使用密钥认证
  • 禁止 root 直接登录
  • 修改默认端口
  • 禁用密码登录
  • 限制允许登录用户
  • 配置防火墙规则

不推荐做法

  • 长期开启 root 密码登录
  • 使用弱密码
  • 将私钥泄露到公网
  • 使用默认 22 端口暴露公网

十三、总结

SSH 是 Linux 远程管理核心工具,主要用于:

  • 远程服务器运维
  • 自动化脚本执行
  • 安全远程连接
  • 文件传输与部署

掌握 SSH 密钥认证与安全配置,是 Linux 运维与云服务器管理的重要基础。


5.2 SSH远程管理与安全配置
https://blog.sh462li.top/2026/05/28/5.2 SSH远程管理与安全配置/
作者
SHAO
发布于
2026年5月28日
许可协议