linux中禁止root用户ssh远程登录并修改ssh远程登录端口

小明SEO博客 小明SEO博客,新时代SEO博客

服务器的安全性不言而喻,服务器安全性设置的第一步就是堵住入口.

对于linux而言,堵住入口,就是不让别人能随便进入我们的服务器里面乱搞,不然一个命令 “rm -rf / “,后果不堪设想,所以不能让别人进入我们的服务器,更加不能让别人用root用户进去,所以最好的做法就是.

在linux上面设置禁止root用户远程登录,并且修改ssh端口【因为默认的端口是22,改了设置多一层障碍】,然后我们需要登录进去的时候,就用一个没有权限的用户登录进去,然后再用su命令切换到root或者其他有权限操作的用户.

这样做了之后,别人哪怕知道服务器的ip,但是不知道端口,也不知道是要用什么用户登录,暴力破解也破解不了.

以centos为例,设置linux禁止root用户ssh远程登录,使用其他用户登录:

1、用root用户登录进去

2、使用groupadd命令新建一个login的分组,专门用于登录

# groupadd login

3、去存放组信息文件 /etc/group 里面检查login分组是否添加成功,如果在输出的信息里有 login:x:501:这样的信息,就说明成功了【后面的501并不是每台机子都一样,501是这个组的标识id,会因你服务器已经拥有的组不同而不同,默认是从500开始排序的,所以有login就是成功了】

# cat /etc/group

4、使用useradd命令新建一个 zhoumanhe 用户用于ssh远程登录,属于login分组,该用户目录在 /home/zhoumanhe 下.

# useradd zhoumanhe -g login -G login -d /home/zhoumanhe

5、去存放用户信息文件 /etc/passwd 检查用户是否添加成功,如果输出信息里面有 zhoumanhe:x:501:501::/home/zhoumanhe:/bin/bash 则说明用户添加成功,并且属于login组【因为有501,login组的标识id就是501】

# cat /etc/passwd

6、使用passwd命令给zhoumanhe用户添加一个登陆密码,刚刚添加完是还没有设置密码的.

  1. #passwdzhoumanhe
  2. Changingpasswordforuserzhoumanhe.
  3. Newpassword:--phpfensi.com
  4. Retypenewpassword:
  5. passwd:allauthenticationtokensupdatedsuccessfully.

特别严重的提示:其实在使用useradd命令也是可以直接为添加用户设置密码的,后面加上“ -p 要设置的密码 ”为什么独立出来,因为如果直接这样添加,存进密码文件里面的密码就是明文的,就是说你的密码是123,存进去的密码也是123,到那时linux用户的登录密码是要经过加密的,所以可能导致linux新添加的用户登录失败.

而刚刚添加完用户,su切换到新添加用户,输入passwd更改密码的时候也会提示 “Authentication token manipulation error”,因为改密码要先输入旧的密码,你输入123,但是真实的密码确实加密过了的,所以提示出错.

所以出现这个问题的朋友,可以切换到root用户,使用 “passwd 用户名”来改新添加用户的密码。想看一下成功了没有?行,打开存放密码的文件看一下就知道了,使用命令 “ cat /etc/shadow ”查看即可,如果出现了 用户名:一长字符串,那就是成功了,如果出现的是你输入的明文密码,那就重新修改密码吧.

7、这样的话就设置成功了,管理远程登录软件,试用您刚刚添加的zhoumanhe用户登录看一下吧.

8、如果成功了,那我们就可以禁止掉root用户的远程登录了.

9、使用root登录进去,如果是在刚刚添加的zhoumanhe用户,就是用直接输入su,回车,输入密码切换到root用户.

  1. $
  2. $su
  3. Password:
  4. #

10、这个的配置信息在 /etc/ssh/sshd_config 这个文件里面,所以打开这个文件

# vi /etc/ssh/sshd_config

11、找到 PermitRootLogin yes 这一句,将yes改成no,退出保存;

PermitRootLogin no

12、修改了ssh的配置文件,所以还得重启一下ssh服务才能生效,输入以下命令重启:

# service sshd restart

13、然后就重新使用ssh软件,使用root用户登录看一下吧,在login as:后面输入root,然后回车,让你输入密码,输入密码之后,是不是发现密码是正确的,但是提示”Access denied”,说明root已经被禁止掉ssh远程登录了.

14、我们就更改一下centos使用ssh远程登录的端口,还是打开 /etc/ssh/sshd_config 这个文件.

# vi /etc/ssh/sshd_config

15、找到 #Port 22 这一行,把前面的#去掉,变成 Port 22,然后回车,再下一行输入 Port 8888,然后:wq保存退出,8888就是你要设置的端口,改成你想设置的就行,一般改成一个自己好记的,但是不能是现在已经用着的端口,不然有冲突.

  1. #Port22
  2. #改成如下
  3. Port22
  4. Port8888

这样是不是就有了两行的Port了?没错,就是要两行,22那一行是用于以防万一的,为了避免,我们设置的另外一个端口万一登录不上,我们还可以使用22端口登录上去改,不然没有预留22端口,自己新添加的那个也登录不上去,那就只有联系客服吧.

16、刚刚我们知道,修改了ssh的配置文件,需要重启ssh服务器。

17、使用刚刚的那个端口登录看一下吧,成功了?,成功了就可以再次打开 /etc/ssh/sshd_config这个文件把 Port 22 这一行删除掉,然后再次保存退出,重启ssh服务。

18、到了这里,我们的“linux禁止root用户ssh远程登录并修改ssh远程登录端口”目的达到了,以后登录,就用新端口,新用户登录吧,登录进去再su切换root或者其他权限用户.

相关广告
  • linux中禁止root用户ssh远程登录并修改ssh远程登录端口 linux中禁止root用户ssh远程登录并修改ssh远程登录端口 linux中禁止root用户ssh远程登录并修改ssh远程登录端口
相关阅读

linux中禁止root用户ssh远程登录并修改ssh远程登录端口

2019/10/10 17:47:09 | 谷歌SEO算法 | SEO博客