linux 限制root用户SSH登录:
 
1、修改SSHD服务的配置文件/etc/ssh/sshd_config
   将#PermitRootLogin yes 改为PermitRootLogin no
2、重启sshd服务使配置生效
   /etc/rc.d/init.d/sshd restart
为了增强linux的安全性,应该限制只有wheel组的用户可以使用su命令切换到root和其他用户:
 
1、修改su命令的认证配置文件/etc/pam.d/su
 
   去掉以下两行前的#号注释
   #auth            sufficient      pam_wheel.so trust use_uid
   #auth            required        pam_wheel.so use_uid
2、创建一个普通用户,然后将这个用户加入到wheel组即可!以后就只有这个普通用户和root可以使用su命令了
   usermod -G 10 51hosting
   51hosting为创建的普通系统用户,10为wheel组的组ID
su命令使用简介:
  su  直接切换到root用户,但保持原用户的环境变量;

su - 切换到root用户,并使用root用户的环境变量;
 
  su -l test 切换到test用户,并使用test的环境变量;

从login方面来进行

1:Linux启动或禁止SSH root用户的登录

2:Linux限制SSH用户

其实这些东西就是修改一个系统的配置文件

  1. [root@rhsde ~]# vi /etc/ssh/sshd_config

我们可以查看

  1. #PermitRootLogin yes

把前面的#号去掉,yes修改为no即可

yes 就是可以使用SSH方式的root登录

no就是禁止使用SSH方式的root登录

  1. login as: root
  2. root@192.168.220.165's password:
  3. Access denied
  4. root@192.168.220.165's password:

另外如果需要限制SSH方式的用户登录 修改如下参数

  1. AllowUsers arcsde

arcsde是我操作系统的用户,如果没有用户可以手动添加AllowUsers

这样的话,只能arcsde登录了

其他用户登录不了了(oracle)

  1. login as: oracle
  2. oracle@192.168.220.165's password:
  3. Access denied
  4. oracle@192.168.220.165's password:

以上修改完配置文件,必须重新启动SSH服务才能生效

  1. [root@rhsde ~]# /etc/init.d/sshd restart
  2. Stopping sshd:                                             [  OK  ]
  3. Starting sshd:                                             [  OK  ]

可能会有人会问到如果我设置了,每次都是Access denied,有没有一些可以进行信息的提示,这肯定可以啊

我们可以修改如下文件

  1. [root@rhsde ~]# vi /etc/issue.net

然后添加如下信息

  1. ###############################################################
  2. #                    Welcome to redhatserver                                    #
  3. #          All connections are monitored and recorded                            #
  4. #  Disconnect IMMEDIATELY if you are not an authorized user!                    #
  5. #                       Please tel 400-819-2881
  6. ###############################################################

我们仍然需要修改sshd_config里面的参数

  1. Banner /etc/issue.net

后面对应的就是相关文件的路径,重启服务即可

然后我们测试一下

  1. login as: root
  2. Red Hat Enterprise Linux Server release 5.5 (Tikanga)
  3. Kernel \r on an \m
  4. ###############################################################
  5. #                    Welcome to redhatserver                                    #
  6. #          All connections are monitored and recorded
  7. #
  8. #  Disconnect IMMEDIATELY if you are not an authorized user!                    #
  9. #Please tel 400-819-2881
  10. ###############################################################
  11. root@192.168.220.165's password:

当我们输入root用户,系统就自动提示了。另外也可以在输入密码的时候提示,如果是这样的话,我们修改如下文件即可

  1. vi /etc/motd

Linux SSH 单点登录限制

有时候,为了防止一个SSH用户多次登录,即滥用资源,可以通过PAM来限制,达到SSH单点登录。

1.确保/etc/pam.d/sshd里添加了"pam_limits.so",Debian和Ubuntu默认情况下已经添加了哦。

>\# Set up user limits from /etc/security/limits.conf.
>session required pam_limits.so

2.在“/etc/security/limits.conf” 里添加“* - maxlogins 1”,意思是所有SSH用户的最大登录用户数都为1。

3.reboot

重启后,多次登录同一个用户就会提示“Too many logins for ”

linux 限制root SSH登陆和限制su的更多相关文章

  1. Linux系统下ssh登陆很慢的解决办法

    很多的Linux用户发现连接上Linux服务器在输入用户名之后还要再等一下才能输入密码,时间过长了,现在小白与大家分享一下如何解决ssh登陆问题的问题,希望对您有所帮助. 1.我们平时登陆Linux服 ...

  2. ECS Linux 服务器解除ssh登陆后被锁定或暂停输入输出的终端

    在使用SSH终端(如Xshell)登陆时,若不慎点击 Ctrl + S  按键,会导致终端很像被锁定,输入和输出都无响应. 这是由于操作系统的终端收到指令 Ctrl + S 后,会暂停终端输入输出的刷 ...

  3. linux修改root用户登陆密码

    如果不是以root用户登录的,请先切换到root用户下, 执行命令:su root 然后按提示输入root用户的密码. 英文系统: [root@localhost ~]# passwd Changin ...

  4. Ubuntu Linux启用root用户登录

    Ubuntu Linux有一个与众不同的特点,那就是初次使用时,你无法作为root来登录系统,为什么会这样?这就要从系统的安装说起.对于其他Linux系统来 说,一般在安装过程就设定root密码,这样 ...

  5. (转)Linux SSH配置和禁止Root远程登陆设置

    原文 一.修改vi /etc/ssh/sshd_config 文件 1.修改默认端口:默认Port为22,并且已经注释掉了:修改是把注释去掉,并修改成其它的端口. 2.禁止root用户远程登陆:修改P ...

  6. linux下在root用户登陆状态下,以指定用户运行脚本程序实现方式

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMcAAABKCAIAAACASdeXAAAEoUlEQVR4nO2dy7WlIBBFTYIoSIIkmD ...

  7. Linux三种SSH协议登陆方式

    在实际工作中遇到了三种不同SSH协议登陆Linux服务器的方式,由简单到复杂分别阐述:一.最简单也是最不安全的root账号密码登陆通过root账号+root密码登陆Linux服务器. 二.普通用户登陆 ...

  8. 关于deepin下安装ssh以后root用户登陆报错的解决

    最近刚刚接触到deepin,觉得,wow,除了mac,还有这么好看的非win系统,而且第测出那个Linux,宽容度很高,非常适合我这种比较喜欢折腾的人,于是下载了deepin15版本并将其当作虚拟机成 ...

  9. linux下开启SSH,并且允许root用户远程登录,允许无密码登录

    参考:http://blog.csdn.net/jia0511/article/details/8237698 1. 允许root用户远程登录 修改ssh服务配置文件 sudo vi /etc/ssh ...

随机推荐

  1. C# 面试知识点总结

    1,事件是对象,委托时类型.事件内部其实就是一个private 的委托和add,remove两个方法. 2.override 和overload的区别: override是对基类中方法的重写,是会覆盖 ...

  2. Java数据结构——图

    点 //类名:Vertex //属性: //方法: class Vertex{ public char label; //点的名称,如A public boolean wasVisited; publ ...

  3. lucene大索引文件分布式存储方案

    这几天实现了个Lucene分布式检索的模块,采用的分布式方案是将数据分块,分别生成N个索引文件,放到N个节点上运行.检索时,对每一个节点发出查询请求,将N个节点返回的结果归并,然后生成一个新的结果.如 ...

  4. LYDSY模拟赛day2 Market

    /* orz claris,这个题的解法非常巧妙,首先是时间问题,其实这个问题只要离线处理一下就可以了,把物品和询问都按照时间排序,然后看一下能不能满足.然后,因为容量<=10^9,显然是不可能 ...

  5. PHP判断文件或者目录是否可写

    在PHP中,可用is_writable()函数来判断一个 文件/目录 是否可写,详情如下: 参考 is_writable (PHP 4, PHP 5) is_writable — 判断给定的文件名是否 ...

  6. Linux C 字符串输入函数 gets()、fgets()、scanf() 详解

    一.gets() 函数详解 gets()函数用来从 标准输入设备(键盘)读取字符串直到 回车结束,但回车符('\n')不属于这个字符串. 调用格式为: gets(str); 其中str为字符串变量(字 ...

  7. Java总结篇系列:Java多线程(一)

    多线程作为Java中很重要的一个知识点,在此还是有必要总结一下的. 一.线程的生命周期及五种基本状态 关于Java中线程的生命周期,首先看一下下面这张较为经典的图: 上图中基本上囊括了Java中多线程 ...

  8. Ajax方法提交整个表单的信息

    <pre>$.ajax({                 cache: true,                 type: "POST",             ...

  9. composer 安装提示 PHP Warning: readfile(): SSL operation failed with code 1

    这是php设置openssl 没有指定cacert.pem (证书) 第一步:下载 cacert.pem 文件下载地址 https://curl.haxx.se/docs/caextract.html ...

  10. Is there a difference between `==` and `is` in Python?

    There is a simple rule of thumb to tell you when to use == or is. == is for value equality. Use it w ...