[修改Linux下ssh端口号]解决无法修改sshd_config无法修改

前言:写本文的前因是本人的阿里云服务器经常被黑客暴力破解ssh的22端口号。再网络上搜索解决都是说使用root权限进行修改,但本人在root下也无法成功进行修改sshd_config文件。所以在大量搜索下终于找到了解决方案,现在分享出来给有需要的人使用。

[修改Linux下ssh端口号]解决无法修改sshd_config无法修改_第1张图片

普通解决方案:

  • root权限远程进入Linux
  • sshd_config是在/etc/ssh目录下
  • 修改文件操作vim /etc/ssh/sshd_config(正常情况或许可以打开修改,但如果被黑客黑过后可能导致无法修改)

 如果修改操作失败尝试关闭selinux系统:

vi /etc/selinux/config

将SELINUX=enforcing改为SELINUX=disabled

 关闭后再重复上步操作,如果还失败你大概率可能是被黑后权限锁定问题。

那么被黑后如何处理呢?

  • 使用lsattr命令查看sshd_config文件是否被+i权限锁定了。
  • 尝试使用chattr命令解锁,但报Permission denied错误,提示没权限,尝试使用chmod命令修改权限但报错:chmod: changing permissions of chattr': Operation not permitted错误。

查阅资料找到解决方案:

原因:chattr命令权限被修改且被锁定。

解决方案:

分别执行如下命令即可恢复chattr命令的权限,权限恢复后可以使用该命令做操作了。

cp /usr/bin/chattr /usr/bin/chattr2
chmod 755 /usr/bin/chattr2
chattr2 -i /usr/bin/chattr
chmod 755 /usr/bin/chattr
ls -la /usr/bin/chattr
lsattr /usr/bin/chattr

恢复chattr命令的权限后对sshd_config文件进行解锁。

修改端口号:

1.修改sshd_config文件

vim打开sshd_config文件输入e进入后shift+i进入底行模式找到#Port(如果新端口确认可以使用后删除原始22端口的Port),另新写一行Port。

对Port的端口进行修改,修改10000-65535之间的端口号,大大减少被暴力破解的概率,因为大部分黑客都是直接对22端口进行破解,并且你要避免与其他服务协议端口号冲突。

修改完毕后:wq!保存即可。

2.重启sshd服务

systemctl restart sshd.service

3.查看开放端口

netstat -tupln

4.把端口添加到防火墙开放端口列表

添加端口:firewall-cmd --zone=public --add-port="修改的Port"/tcp --permanent

 5.重新加载防火墙

firewall-cmd --reload

6.查看端口防火墙放行状态

firewall-cmd --permanent --query-port="端口号"/tcp

7.查看防火墙已放行的端口号列表

firewall-cmd --zone=public --list-ports

如果以上步骤都没问题,防火墙也已放行,在云服务器官网添加ssh协议的端口号,最后使用Xshell连接服务器即可。

你可能感兴趣的:(我在地球学Linux,linux,ssh,服务器,防火墙,sshd_config)