Linux服务器 SSH端口修改、禁用root账户远程登录
转至:https://blog.csdn.net/qq_52974612/article/details/122242148
目录
SSH端口修改
1.使用root账户登录服务器
2..用vim打开/etc/ssh/sshd_config配置文件
3.重启ssh服务
4.向防火墙中添加修改的端口
5.测试新的端口能否连接并禁用默认端口
禁用root账户远程登录
1.添加用户
2.修改 /etc/sudoers文件
3.禁用root远程登录
4.用su root登录root账户
一些问题以下是在SELinux开启的情况下的一系列操作,如果不是特别了解千万不要开
SSH端口修改
为什么要修改ssh端口呢?因为总有一些人然闲着没事儿就去试有哪些 傻子 开着默认ssh端口 然后暴力破解你的密码。。。。不改的话不安全,虽然改了也不安全。。。
1.使用root账户登录服务器
2..用vim打开/etc/ssh/sshd_config
配置文件
vim /etc/ssh/sshd_config
按i
进入编辑,找到#Port 22
把注释去掉变成Port 22
在加上一行Port 25535
然后按ESC
再输入:wq
进行保存
3.重启ssh服务
systemctl restart sshd.service
4.向防火墙中添加修改的端口
向防火墙中添加端口25535
firewall-cmd --zone=public --add-port=25535/tcp --permanent
reaload
防火墙规则
firewall-cmd --reload
查看端口是否添加成功
firewall-cmd --zone=public --query-port=25535/tcp
如果开启了SELinux还需要下面这些步骤(若无则跳过)
在写这篇文章的时候出现了问题
本着试一试的心态 把SELinux开启了 然后出现了问题 我登录不上去了 通过阿里云的救援连接把SELinux关掉才重新进去的 还没解决这个问题 在结尾有详细说明
还是不要开了这个选项吧 默认都是关的
先查看SELinux是否开启
/usr/sbin/sestatus -v
显示disabled
为关闭,enable
为开启
打开配置文件/etc/selinux/config
vim /etc/selinux/config
如果想关闭SELinux,将SELINUX=enforcing
改为SELINUX=disabled
重启机器即可
5.测试新的端口能否连接并禁用默认端口
按i
进入编辑,找到Port 22
注释掉变成#Port 22
然后按ESC
再输入:wq
进行保存
这样我们的ssh端口就修改完成了
禁用root账户远程登录
改了默认ssh端口之后我们还要禁用root远程登录 这样保险一些(
1.添加用户
添加用户lin
adduser lin
设置密码
passwd lin
2.修改 /etc/sudoers
文件
默认情况下/etc/sudoers
是所有用户只读,我们要修改一下权限
chmod u+w /etc/sudoers
用vim编辑/etc/sudoers
文件
vim /etc/sudoers
找到下面这些
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
按i
进入编辑,在下面加上lin ALL=(ALL) ALL
然后按ESC
再输入:wq
进行保存
改回权限
chmod u-w /etc/sudoers
3.禁用root远程登录
编辑/etc/ssh/sshd_config
文件,按i
进入编辑
vim /etc/ssh/sshd_config
找到PermitRootLogin yes
改为PermitRootLogin no
,然后按ESC
再输入:wq
进行保存
重启ssh服务
systemctl restart sshd.service
这样就登录不上去了
4.用su root
登录root账户
上述操作只是禁止了root用户远程登陆,并没有禁止别的用户,我们可以先用别的用户登陆,再用su root
命令切回root用户
这样禁用root远程登录就完成了
一些问题
以下是在SELinux开启的情况下的一系列操作
使用semanage port -l | grep ssh
命令查看当前SElinux 允许的ssh端口
如果提示
-bash: semanage: command not found
则需要用yum provides semanage
命令查找semanage是由哪个包来支持的
如图提示:
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
去下载对应的包
然后经过一系列操作就Complete!
了
接下来继续刚才查看当前SElinux 允许的ssh端口的操作
semanage port -l | grep ssh
说明除了22
端口没有其他端口,我们要把25535
端口加进去
semanage port -a -t ssh_port_t -p tcp 25535
然后再用semanage port -l | grep ssh
命令查询
这样就把我们想要的25535
这个端口加进去了
接下来重启ssh服务器
systemctl restart sshd.service
如果不是特别了解千万不要开
这也是我按照其他博客写的操作下去的 当时我并没有把SELinux开启
直到我把默认的ssh端口关了的时候才把这个打开的。重启服务器后我就登不上去了
靠着这个活下来的(
我也没有验证过之后的步骤是否可行 但是当我通过阿里云救援把SELinux关掉再去执行semanage port -l | grep ssh
命令的时候 报错了
我也去搜了搜 大部分都是让把SELinux关掉的 少数的一些讲的我没看懂