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
相关推荐
运维行者_3 小时前
企业无线网络监控的挑战与智能化演进趋势
大数据·运维·服务器·网络·数据库
2603_955279704 小时前
Cursor + GitOps:自动化运维新姿势
运维·自动化
Waay4 小时前
面试口述版:个人对 Prometheus 完整理解
运维·学习·云原生·面试·职场和发展·kubernetes·prometheus
三8445 小时前
文件查找/文件压缩/解压缩
linux·运维·服务器
小猪写代码5 小时前
Linux 管道(Pipeline)作业
linux·运维·服务器
桌面运维家5 小时前
如何用半缓存云桌面将服务器硬盘容量扩展至本地终端?
运维·服务器·缓存
Jurio.5 小时前
Codex App SSH 远程开发教程:本地连接远程服务器项目
服务器·ssh·远程工作·codex
激情的学姐5 小时前
【大型网站技术实践】初级篇:借助Nginx搭建反向代理服务器
运维·nginx
ai_coder_ai6 小时前
编写自动化脚本,在自己后端服务中使用Open Api进行设备相关操作
java·运维·自动化
spider_xcxc7 小时前
Redis 数据库高质量实践指南(一)
运维·数据库·redis·oracle·云计算