前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网站服务器修改SSH默认22端口

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

作者头像
慕白
发布2018-07-06 15:00:45
15.1K1
发布2018-07-06 15:00:45
举报

默认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是区分大小写的。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x1首先找到SSH服务位置
  • 0x2 打开配置文件
  • 0x3添加新的端口号
  • 0x4重启SSH服务并重新连接
  • 0x5添加防火墙放行端口
  • 0x6查看防火墙状态并检测是否成功更换端口
  • 下面总结一下知识点
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档