openEuler 22.03 修改 ssh 22 端口

目录

  • [一、配置 shhd_config](#一、配置 shhd_config)
    • [1.1 文件备份](#1.1 文件备份)
    • [1.2 修改 shhd_config](#1.2 修改 shhd_config)
  • [二、配置 SELinux](#二、配置 SELinux)
    • [2.1 检查 SELinux 状态](#2.1 检查 SELinux 状态)
    • [2.2 安装 semanage](#2.2 安装 semanage)
    • [2.3 修改 SSH 的 SELinux 端口上下文](#2.3 修改 SSH 的 SELinux 端口上下文)
  • 三、配置防火墙
  • [四、重启 SSH 服务并测试](#四、重启 SSH 服务并测试)
  • [五、禁用 22 端口](#五、禁用 22 端口)
    • [5.1 修改 shhd_config](#5.1 修改 shhd_config)
    • [5.2 配置防火墙](#5.2 配置防火墙)
    • [5.3 重启 SSH 服务](#5.3 重启 SSH 服务)

一、配置 shhd_config

1.1 文件备份

bash 复制代码
[root@localhost ~]# sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

1.2 修改 shhd_config

可以使用 ss -tuln 查看已占用的端口。

bash 复制代码
# 1、编辑命令,输入【i】编辑
[root@localhost ~]# sudo vi /etc/ssh/sshd_config

# 2、添加端口,以防无法登录服务器,暂时先放开22端口
# =====================================================================
# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
Port 22
Port 2222
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
# =====================================================================

# 3、保存并退出
在 vi 中按 Esc,输入 :wq,然后回车


如图所示,如果您想要更改SELinux系统上的端口,您必须告知 SELinux 关于这个变化。

二、配置 SELinux

2.1 检查 SELinux 状态

bash 复制代码
[root@localhost ~]# sudo getenforce
Enforcing

如果返回 Enforcing,则需要进行下一步。

2.2 安装 semanage

bash 复制代码
# CentOS 8/RHEL 8+
[root@localhost ~]# sudo yum -y install policycoreutils-python-utils
# CentOS 7/RHEL 7+
#[root@localhost ~]# sudo yum -y install policycoreutils-python

2.3 修改 SSH 的 SELinux 端口上下文

bash 复制代码
# 添加新端口
[root@localhost ~]# sudo semanage port -a -t ssh_port_t -p tcp 2222
# 验证是否成功
[root@localhost ~]# sudo semanage port -l | grep ssh
ssh_port_t                     tcp      2222, 22

三、配置防火墙

bash 复制代码
# 开放端口(TCP协议)
[root@localhost ~]# sudo firewall-cmd --permanent --zone=public --add-port=2222/tcp
success
# 重新加载防火墙规则
[root@localhost ~]# sudo firewall-cmd --reload
success
# 验证端口是否开放
[root@localhost ~]# sudo firewall-cmd --list-ports
2222/tcp

四、重启 SSH 服务并测试

bash 复制代码
# 1、重启服务
[root@localhost ~]# sudo systemctl restart sshd
# 2、查看 SSH 监听的端口
[root@localhost ~]# sudo ss -tnlp | grep sshd
# 3、在新终端测试连接(不要关闭当前终端!),如使用 win 命令提示符
# ssh -p port username@localhost
ssh -p 2222 root@192.168.0.110
输入登录密码

也可以使用Putty、Xshell软件测试是否成功登录。

五、禁用 22 端口

5.1 修改 shhd_config

bash 复制代码
# 1、编辑命令,输入【i】编辑
[root@localhost ~]# sudo vi /etc/ssh/sshd_config
# 2、注释端口
#Port 22
# 3、保存并退出
在 vi 中按 Esc,输入 :wq,然后回车

5.2 配置防火墙

bash 复制代码
# 移除22端口
[root@localhost ~]# sudo firewall-cmd --permanent --zone=public --remove-port=22/tcp
# 重新加载防火墙规则
[root@localhost ~]# sudo firewall-cmd --reload

5.3 重启 SSH 服务

bash 复制代码
[root@localhost ~]# sudo systemctl restart sshd
相关推荐
HY小海4 小时前
【Linux】进程概念
linux·运维·服务器
王八八。5 小时前
linux后台java、postSQL部署命令
java·linux·运维
TheRouter5 小时前
LLM 应用的Evals 工程实践:从手动测试到自动化回归测试体系
运维·ai·自动化·log4j
黎阳之光7 小时前
黎阳之光:以视频孪生重构智慧防火,打造“天空地人智”一体化森林防火新范式
大数据·运维·人工智能·物联网·安全
utf8mb4安全女神9 小时前
Linux系统服务相关命令【定时任务设置】【任务进程管理】【防火墙区域应用】
linux·运维·服务器
凯丨9 小时前
Claude Code 自动化开发的完整体系
运维·自动化
SilentSamsara12 小时前
concurrent.futures 实战:进程池与线程池的统一抽象
运维·开发语言·python·青少年编程
疯狂成瘾者12 小时前
常见的 Linux 版本
linux·运维·服务器
xingyuzhisuan12 小时前
GPU服务器集群搭建指南——选型、部署、优化+避坑全解析
运维·服务器·人工智能·gpu算力
tianrun123413 小时前
Ubuntu 24.04 安装 Fcitx5 + Rime + 搜狗词库(替代 IBus 与 Linux 搜狗输入法)
linux·运维·ubuntu