修改Linux中SSH的端口

news/2025/2/24 19:52:31

文章目录

  • 修改Linux中SSH的端口
    • Linux中默认的ssh端口
    • 关闭SELinux
    • 测试新端口

修改Linux中SSH的端口

ssh_2">Linux中默认的ssh端口

使用root用户操作
修改前先备份ssh_config

cp /etc/ssh/sshd_config /etc/ssh/sshd_config_`date "+%Y%m%d%H%M%S"`

修改配置文件,找到已经注释掉的22端口

vim /etc/ssh/sshd_config
 17 #Port 22
 18 #AddressFamily any
 19 #ListenAddress 0.0.0.0
 20 #ListenAddress ::

将其修改为

17 #Port 22
18 Port 22
19 Port 18181
20 #AddressFamily any
21 #ListenAddress 0.0.0.0
22 #ListenAddress ::

小技巧,当进行却去掉注释修改的时候,可以新增一行去掉注释,尽可能的不修改原来的行

设置的时候一定要先将22端口保留,等到测试通过后将22端口注释掉,如果防火墙没有开好,那就是自己给自己留坑
重启sshd服务

systemctl restart sshd.service

查看是否新端口运行

[root@WDQCVM ~]# ss -tnlp | grep ssh
LISTEN     0      128          *:22                       *:*                   users:(("sshd",pid=3668,fd=3))
LISTEN     0      128       [::]:22                    [::]:*                   users:(("sshd",pid=3668,fd=4))

哎呦不对呀,这没有刚才配置的端口

[root@WDQCVM ~]# systemctl status sshd
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2023-08-14 14:37:05 CST; 5min ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 11371 (sshd)
   CGroup: /system.slice/sshd.service
           └─11371 /usr/sbin/sshd -D

Aug 14 14:37:05 WDQCVM systemd[1]: Starting OpenSSH server daemon...
Aug 14 14:37:05 WDQCVM sshd[11371]: error: Bind to port 18181 on 0.0.0.0 failed: Permission denied.
Aug 14 14:37:05 WDQCVM sshd[11371]: error: Bind to port 18181 on :: failed: Permission denied.
Aug 14 14:37:05 WDQCVM sshd[11371]: Server listening on 0.0.0.0 port 22.
Aug 14 14:37:05 WDQCVM sshd[11371]: Server listening on :: port 22.
Aug 14 14:37:05 WDQCVM systemd[1]: Started OpenSSH server daemon.

看到是权限的问题,心里想这不可能有问题呀,我root启动的

  1. 端口问题
  2. 权限问题
    貌似这两个都不行,我还更新了系统内核,都没有解决问题
    最后在网上查资料才发现是SELinux的问题

关闭SELinux

查看状态

sestatus
[root@WDQCVM ~]# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      31
[root@WDQCVM ~]#

修改为disabled,重启机器生效

sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config

关闭SELinux后18181端口被放出来了

[root@WDQCVM ~]# ss -tnlp | grep ssh
LISTEN     0      128          *:18181                    *:*                   users:(("sshd",pid=977,fd=3))
LISTEN     0      128          *:22                       *:*                   users:(("sshd",pid=977,fd=5))
LISTEN     0      128       [::]:18181                 [::]:*                   users:(("sshd",pid=977,fd=4))
LISTEN     0      128       [::]:22                    [::]:*                   users:(("sshd",pid=977,fd=6))
[root@WDQCVM ~]# 

测试新端口

[root@WDQCVM ~]#  ssh root@10.0.2.15 -p 18181
The authenticity of host '[10.0.2.15]:18181 ([10.0.2.15]:18181)' can't be established.
ECDSA key fingerprint is SHA256:yjNMl5BfVvsJ3HmpCPv3B3Y+5XbT4mxwMnDGUHSpnBs.
ECDSA key fingerprint is MD5:0d:08:47:ee:4f:32:a6:8b:8f:2d:dd:fa:f4:f3:e0:5a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[10.0.2.15]:18181' (ECDSA) to the list of known hosts.
root@10.0.2.15's password: 
Last login: Mon Aug 14 15:04:06 2023 from 192.168.31.63
[root@WDQCVM ~]# 

然后禁用22端口

vim /etc/ssh/sshd_config

将Port 22添加注释
重启sshd服务

systemctl restart sshd.service
ss -tnlp | grep ssh

总结:ssh端口如果是暴露在公网,则建议改掉22端口,端口设置在1024~65366之间,建议关闭SELinux ,这个是Linux自带的安全机制,是防止网络攻击的,但也给使用带来了诸多不便。生产环境建议使用专用的硬件防火墙和iptables,一般情况下这种是可以实现的固定IP访问固定端口的。如果不小心禁用了22端口只能通过终端去设置,或者拿着屏幕去机房设置了。


http://www.niftyadmin.cn/n/4937208.html

相关文章

RunLoop

1.CFRunLoopModeRef特征代表RunLoop对象内的运行模式(每个RunLoop对象内存中存在很多种运行模式,每个Mode运行模式下必然包含若干个有效的Source0/Source1/Timer/Observer数据序组) 2.RunLoop对象活跃(操作)启动时能且仅能选择某个Mode匹配currentMode(暗示Loop对象的操作运行必…

最新 python 爱心代码?

python程序代码:heart.py from math import cos, pi import numpy as np import cv2 import os, globclass HeartSignal:def __init__(self, curve"heart", title"Love U", frame_num20, seed_points_num2000, seed_numNone, highlight_rate0.…

斐波拉契数列+二进制--夏令营

1. f[40]{0,1} 数组赋值:只赋值前两个的话,剩余的自动为0 2.先要自己写出斐波拉契数列判断一下应该要多少个斐波拉契数样例,第39项已经超样例数500了,所以够用 3.就是把一个数字拆分成斐波拉契数列里的数的和嘛,但是…

【前端|Javascript第4篇】详解Javascript的事件模型:小白也能轻松搞懂!

前言 在当今数字时代,前端技术正日益成为塑造用户体验的关键。而其中一个不可或缺的核心概念就是JavaScript的事件模型。或许你是刚踏入前端领域的小白,或者是希望深入了解事件模型的开发者,不论你的经验如何,本篇博客都将带你揭开…

【Docker】如何在设计 dockerfile 过程中,设置容器启动后的定时任务

如何在设计 dockerfile 过程中,设置容器启动后的定时任务 jwensh 2023.08.14 文章目录 如何在设计 dockerfile 过程中,设置容器启动后的定时任务1. 基于 alpine 设计 dockerfile 过程中,设置容器启动后的定时任务2. 基于 CentOS 设计 Dockerf…

探索Python中的函数和类:构建模块化和面向对象的程序

文章目录 🍀引言🍀函数:模块化编程的基石🍀类:面向对象编程的基石🍀函数和类的结合:构建高效的程序🍀简单的文字冒险游戏 🍀引言 Python作为一种多范式的编程语言&#x…

[Mongodb 5.0]聚合操作

本文对应Aggregation Operations — MongoDB Manual 正文 此章节主要介绍了Aggregation Pipeline,其实就是将若干个聚合操作放在管道中进行执行,每一个聚合操作的结果作为下一个聚合操作的输入,每个聚合指令被称为一个stage。 在正式开始学…

【多视重建】从Zero-123到One-2-3-45:多视角生成

文章目录 摘要一、引言二、相关工作三、Zero-1-to-33.1.学习如何控制照相机的视角3.2.视角作为条件的扩散3.3三维重构3.4 数据集 四、One-2-3-454.1 Zero123: 视角条件的 2D Diffusion4.2 NeRF优化:将多视图预测提升到三维图像4.3 基于不完美多视图的 神经表面重建*…