5.2 SSH远程管理与安全配置

5.2 Linux SSH 远程管理与安全配置

一、SSH 基础概述

SSH(Secure Shell)是 Linux 系统最常用的远程管理协议,默认使用 TCP 22 端口,通过加密通信实现安全远程访问。

主要应用场景:

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

基本连接方式:

1
ssh root@192.168.1.10

指定端口连接:

1
ssh -p 2222 user@192.168.1.10

常用参数:

参数 说明
-p 指定端口
-i 指定私钥
-v 调试模式
-C 启用压缩
-N 不执行远程命令

二、SSH 密钥认证

相比密码认证,密钥认证具有更高的安全性,是生产环境推荐方案。

生成密钥对:

1
ssh-keygen -t rsa -b 4096

生成文件:

1
2
~/.ssh/id_rsa
~/.ssh/id_rsa.pub

说明:

  • 私钥必须严格保密
  • 公钥上传至目标服务器

配置免密登录:

1
ssh-copy-id user@server_ip

测试连接:

1
ssh user@server_ip

三、SSH 服务配置

服务端配置文件:

1
/etc/ssh/sshd_config

修改配置后需重启服务:

1
systemctl restart sshd

常用配置项:

修改默认端口:

1
Port 2222

禁止 Root 登录:

1
PermitRootLogin no

关闭密码认证:

1
PasswordAuthentication no

限制允许登录用户:

1
AllowUsers admin deploy

限制空闲连接:

1
2
ClientAliveInterval 300
ClientAliveCountMax 2

四、防火墙配置

修改 SSH 端口后需同步放行对应端口。

Firewalld:

1
2
firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --reload

UFW:

1
ufw allow 2222/tcp

查看监听状态:

1
ss -tunlp | grep ssh

查看服务状态:

1
systemctl status sshd

五、常用文件与日志

文件路径 作用
/etc/ssh/sshd_config 服务端配置文件
~/.ssh/authorized_keys 授权公钥列表
~/.ssh/id_rsa 私钥
~/.ssh/id_rsa.pub 公钥
/var/log/secure SSH 登录日志(CentOS)

查看登录日志:

1
tail -f /var/log/secure

Ubuntu/Debian:

1
tail -f /var/log/auth.log

六、SSH 安全加固建议

推荐配置:

  1. 使用密钥认证替代密码认证。
  2. 禁止 Root 用户直接登录。
  3. 修改默认 SSH 端口。
  4. 限制允许登录的用户。
  5. 配置防火墙访问规则。
  6. 定期检查登录日志。
  7. 为私钥设置访问权限。

私钥权限:

1
chmod 600 ~/.ssh/id_rsa

SSH 目录权限:

1
chmod 700 ~/.ssh

不建议的做法:

  • 长期使用 Root 密码登录
  • 使用弱密码
  • 公网暴露默认 22 端口
  • 私钥存放于共享目录
  • 未配置访问控制策略

七、总结

SSH 是 Linux 运维和服务器管理的核心工具。生产环境应优先采用密钥认证、关闭 Root 远程登录、限制访问用户并结合防火墙进行访问控制,从而有效提升服务器远程管理安全性。


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