网站服务器修改SSH默认22端口

默认ssh端口为 22,总是被人扫描登录。每天都有来自全国各地的不法分子非法暴力破解我的服务器密码,极为耗费资源。本文介绍我修改默认端口号的方法。

服务器日志显示很多的异地iP尝试暴力破解我的服务root账号。

0x1首先找到SSH服务位置

whereis ssh

12

whereis ssh

0x2 打开配置文件

vim /etc/ssh/sshd_config

12

vim /etc/ssh/sshd_config

会出现如下提示,大家能够看到#port 22,代表默认端口22。按下键盘的i,vi命令中i是编辑,你按下i之后进入插入状态,这时候可以用键盘的上下键移动绿色光标并用键盘的delete键删除前面的#号,注释掉22端口。

为什么要先把port 22前面的 # 去掉呢?因为在配置文件中,# 是linux的注释,凡是#后的代码都不会执行。而SSH默认的端口为22,所以配置文件在默认的情况下以#出现。当你需要更改为其它端口或添加多端口同时SSH访问时,就要删掉注释符号,让程序能够执行你的命令。

0x3添加新的端口号

另起一行手动添加新的端口(自定义端口建议选择5位数端口如:10000-65535之间 ),保留22是为了防止防火墙屏蔽了其它端口导致无法连接VPS,比如你注释了端口22,新添加的12366端口防火墙也没放行,那么恭喜你给自己挖坑了,可能下次你就无法通过SSH连接VPS了。为了防止这种尴尬的情况发生,就要给自己留条后路,等到新端口可以正常连接SSH了,再删除22端口也不迟。 这时候按键盘的“ESC”键退出当前状态,再输入“:wq”命令保存退出。

0x4重启SSH服务并重新连接

service sshd restart

12

service sshd restart

退出当前连接的SSH窗口,连接新的端口号。

这时候悲催的发现连不上服务器了,分析了一下是因为没有把9856端口添加到服务器的防火墙里面导致的,好在刚才给自己留了后门!所以再重复上面第四步把SSH的端口号改回到22,登陆到服务器。

0x5添加防火墙放行端口

CentOS7使用firewall工具管理防火墙,代替了原来的iptables

如果是老版的CentOS,防火墙可能是iptables,可以用下面的方法。

vi /etc/sysconfig/iptables

12

vi /etc/sysconfig/iptables

添加新的端口,就是设置的SSH的端口号。修改配置文件后重启防火墙。

service iptables restart

12

service iptables restart

我的服务器用了最新的firewall工具管理防火墙,所以传统的方式不管用。 操作步骤如下:

#查看防火墙状态=》使用root的身份=》结果为running firewall-cmd --state #永久性的开放9856端口 firewall-cmd --add-port=9856/tcp permanent #重载生效刚才的端口设置 firewall-cmd --reload

1234567

#查看防火墙状态=》使用root的身份=》结果为runningfirewall-cmd --state#永久性的开放9856端口firewall-cmd --add-port=9856/tcp permanent#重载生效刚才的端口设置firewall-cmd --reload

常用的firewall命令常用命令介绍

firewall-cmd --state ##查看防火墙状态,是否是running firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令 firewall-cmd --get-zones ##列出支持的zone firewall-cmd --get-services ##列出支持的服务,在列表中的服务是放行的 firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回yes或者no firewall-cmd --add-service=ftp ##临时开放ftp服务 firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务 firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务 firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口 firewall-cmd --remove-port=80/tcp --permanent ##永久移除80端口 firewall-cmd --list-ports ##查看已经开放的端口 iptables -L -n ##查看规则,这个命令是和iptables的相同的 man firewall-cmd ##查看帮助

0x6查看防火墙状态并检测是否成功更换端口

firewall-cmd --list-ports

12

firewall-cmd --list-ports

可以看到已经有新的端口放行了。 下面重复0x4步里面的修改SSH软件端口的步骤,改为9856端口,连接服务器。弹出提示中选择“接受并保存”,以后再连接服务器就不会有这个提示了。 当新端口能正常登陆后,重复上面第一步的操作,把刚才留的后门22端口删除掉。然后按照上面第三步的命令重启SSH。


下面总结一下知识点

  • vi编辑器的简单应用,a是编辑,:wq是保存并退出,键盘“ESC”按键是退出当前状态。键盘的上下键和delete键删除添加。
  • 编辑SSH配置文件的命令:vi /etc/ssh/sshd_config
  • 重启SSH的命令:service sshd restart
  • 查看防火墙状态命令:service iptables status
  • 编辑防火墙列表的命令:vi /etc/sysconfig/iptables
  • 重启防火墙命令:service iptables restart
  • 在输入命令的时候需要注意linux是区分大小写的。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我是业余自学C/C++的

汇编语言-第四章 第一个程序

16730
来自专栏racaljk

静态库(.a)与动态库(.so)的简明介绍

gcc有很多关于静态库,动态库的选项如-l,-L,-fPIC,-shared -Wl,-soname,看着很复杂容易混淆,其实静态库和动态库都是应需而生,只要有...

20150
来自专栏Java成神之路

JAVA之 JDK安装及环境变量配置

Path=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

10710
来自专栏人工智能LeadAI

深入理解并发/并行,阻塞/非阻塞,同步/异步

1、阻塞,非阻塞 首先,阻塞这个词来自操作系统的线程/进程的状态模型中,如下图: ? 进程状态 一个线程/进程经历的5个状态,创建,就绪,运行,阻塞,终止。各个...

42040
来自专栏陈树义

JVM系列第3讲:到底什么是虚拟机?

我们都知道在 Windows 系统上一个软件包装包是 exe 后缀的,而这个软件包在苹果的 Mac OSX 系统上是无法安装的。类似地,Mac OSX 系统上软...

9820
来自专栏coding

bash基础特征

11820
来自专栏知识分享

NodeMCU初探

对于ESP8266模块,早就想知道如何用其脚本语言, 自己先用的这个模块测试的 ? 首先是先下载需要用到的工具和固件 链接:http://pan.baidu.c...

38570
来自专栏猿人谷

df和du显示的磁盘空间使用情况不一致的原因及处理

在Linux下查看磁盘空间使用情况,最常使用的就是du和df了。然而两者还是有很大区别的,有时候其输出结果甚至非常悬殊。 1. 如何记忆这两个命令 du-Dis...

50590
来自专栏IT笔记

Nginx学习之合并请求连接加速网站访问

作为这个世界上最好的web服务器之一,Nginx的优势不明而喻。下面来讲讲,Nginx是如何合并请求连接的。 小知识 当我们在浏览网页的时候,对浏览速度有一个重...

38160
来自专栏MongoDB中文社区

使用mlaunch和m快速搭建MongoDB测试集群

不知道大家在使用MongoDB的时候有没有遇到突然想要一个集群但是手边又没有的时候?特别是我已经升级到4.0了,突然想要一个3.2的集群怎么办?然后去下载,改配...

12610

扫码关注云+社区

领取腾讯云代金券