SSH端口修改

为什么要修改ssh端口呢?因为总有一些人然闲着没事儿就去试有哪些 傻子 开着默认ssh端口 然后暴力破解你的密码。。。。不改的话不安全,虽然改了也不安全。。。

使用root账户登录服务器

root登录

用vim打开/etc/ssh/sshd_config配置文件

1
vim /etc/ssh/sshd_config

i进入编辑,找到#Port 22把注释去掉变成Port 22在加上一行Port 25535

修改端口.png

然后按ESC再输入:wq进行保存

重启ssh服务

1
systemctl restart sshd.service

向防火墙中添加修改的端口

向防火墙中添加端口25535

1
firewall-cmd --zone=public --add-port=25535/tcp --permanent

防火墙添加端口.png

reaload 防火墙规则

1
firewall-cmd --reload

reload防火墙规则.png

查看端口是否添加成功

1
firewall-cmd --zone=public --query-port=25535/tcp

查看防火墙是否添加成功.png

如果开启了SELinux还需要下面这些步骤(若无则跳过)

在写这篇文章的时候出现了问题

本着试一试的心态 把SELinux开启了 然后出现了问题 我登录不上去了 通过阿里云的救援连接把SELinux关掉才重新进去的 还没解决这个问题 在结尾有详细说明

还是不要开了这个选项吧 默认都是关的

先查看SELinux是否开启

1
/usr/sbin/sestatus -v

查看SELinux是否开启.png

显示disabled为关闭,enable为开启

打开配置文件/etc/selinux/config

1
vim /etc/selinux/config

如果想关闭SELinux,将SELINUX=enforcing改为SELINUX=disabled

SELINUX_disabled.png

重启机器即可

测试新的端口能否连接并禁用默认端口

i进入编辑,找到Port 22注释掉变成#Port 22然后按ESC再输入:wq进行保存

禁用默认端口.png

这样我们的ssh端口就修改完成了

禁用root账户远程登录

改了默认ssh端口之后我们还要禁用root远程登录 这样保险一些(

添加用户

添加用户lin

1
adduser lin

设置密码

1
passwd lin

添加用户.png

修改 /etc/sudoers文件

默认情况下/etc/sudoers是所有用户只读,我们要修改一下权限

1
chmod u+w /etc/sudoers

用vim编辑/etc/sudoers文件

1
vim /etc/sudoers

找到下面这些

1
2
## Allow root to run any commands anywhere 
root ALL=(ALL) ALL

i进入编辑,在下面加上lin ALL=(ALL) ALL然后按ESC再输入:wq进行保存

编辑etcsudoers.png

改回权限

1
chmod u-w /etc/sudoers

禁用root远程登录

编辑/etc/ssh/sshd_config文件,按i进入编辑

1
vim /etc/ssh/sshd_config

找到PermitRootLogin yes改为PermitRootLogin no,然后按ESC再输入:wq进行保存

重启ssh服务

1
systemctl restart sshd.service

禁用root远程登录success.png

这样就登录不上去了

su root登录root账户

上述操作只是禁止了root用户远程登陆,并没有禁止别的用户,我们可以先用别的用户登陆,再用su root命令切回root用户

切回root用户.png

这样禁用root远程登录就完成了

一些问题

以下是在SELinux开启的情况下的一系列操作

使用semanage port -l | grep ssh命令查看当前SElinux 允许的ssh端口

如果提示-bash: semanage: command not found

则需要用yum provides semanage命令查找semanage是由哪个包来支持的

查找semanage.png

如图提示:policycoreutils-python-2.5-34.el7.x86_64 : SELinux policy core python utilities

这个policycoreutils-python-2.5-34.el7就是我们所需包的包名

接下来就用yum install policycoreutils-python-2.5-34.el7命令去下载对应的包

下载对应的包.png

然后经过一系列操作就Complete!

Complete!.png

接下来继续刚才查看当前SElinux 允许的ssh端口的操作

1
semanage port -l | grep ssh

继续查看当前SElinux允许的ssh端口.png

说明除了22端口没有其他端口,我们要把25535端口加进去

1
semanage port -a -t ssh_port_t -p tcp 25535

然后再用semanage port -l | grep ssh命令查询

再用semanage命令查询.png

这样就把我们想要的25535这个端口加进去了

接下来重启ssh服务器

1
systemctl restart sshd.service

如果不是特别了解千万不要开

这也是我按照其他博客写的操作下去的 当时我并没有把SELinux开启

直到我把默认的ssh端口关了的时候才把这个打开的。重启服务器后我就登不上去了

阿里云救援.png

靠着这个活下来的(

我也没有验证过之后的步骤是否可行 但是当我通过阿里云救援把SELinux关掉再去执行semanage port -l | grep ssh命令的时候 报错了

报错.png

我也去搜了搜 大部分都是让把SELinux关掉的 少数的一些讲的我没看懂(