openSSH默认配置文件有两个指令,允许和拒绝对特定用户或组的SSH访问,本文所要介绍的内容是允许或拒绝在Linux系统中对特定用户或组的SSH访问。一旦我们将用户置于限制模式,他就无法做任何事情,除了他被允许做什么,当你希望允许特定用户仅执行一组特定命令时,该方法就能用上了。

一、允许SSH访问用户或组

首先,我们将看到如何允许特定用户的SSH访问(在Ubuntu 18.04系统中启用SSH登录的方法),例如ywnz。

请注意,所有命令都应以root用户身份运行。

转到远程服务器,然后编辑sshd_config文件:

$ sudo vi /etc/ssh/sshd_config

添加或编辑以下行:

AllowUsers ywnz

注:请将“ywnz”替换为为的用户名,你还可以指定多个用户,如下所示:

AllowUsers ywnz ywnz-1

注:多出了一个ywnz-1用户。

要允许整个组(例如root)添加/编辑以下行:

AllowGroups root

处于“root”组的人可以ssh到远程服务器。

保存并退出SSH配置文件,重启SSH服务以使更改生效:

$ sudo systemctl restart sshd

现在,用户ywnz,ywnz-1或“root”组下的所有用户都可以ssh到你的远程服务器,其他用户则不能。

如果你尝试使用任何一个非允许用户ssh到远程服务器,你将收到以下错误消息:

Permission denied, please try again.(即许可被拒绝,请再试一次。)

至此,允许SSH访问用户或组目的达到了。现在,让我们继续看看如何拒绝/禁用对特定用户或组的ssh访问。

二、拒绝SSH访问用户或组

要禁用或拒绝对任何用户或组的SSH访问,你需要在远程服务器的sshd_config文件中添加/编辑以下指令。

要拒绝对名为“ywnz”的特定用户的SSH访问,请编辑sshd_config文件:

$ sudo vi /etc/ssh/sshd_config

在sshd_config文件中添加/编辑以下行:

DenyUsers ywnz

同样,要拒绝对多个用户的SSH访问,请指定空格分隔的用户名,如下所示:

DenyUsers ywnz ywnz-1

要拒绝对整个组(例如root)的SSH访问,请添加:

DenyGroups root

保存并退出ssh配置文件,重新启动ssh服务以使更改生效:

$ sudo systemctl restart sshd

如果你尝试使用被拒绝的用户ssh到服务器,例如ywnz:

ssh ywnz@192.168.1.150

你将收到以下消息:

ywnz@192.168.1.150's password: Permission denied, please try again.ywnz@192.168.1.150's password:

至此,拒绝SSH访问用户或组目的达到。

当然,你也应该禁用root用户登录,在安全性方面,root ssh访问被认为是一种不好的做法,参考VPS安装Debian后如何禁用root SSH登录一文。

要禁用root ssh登录,请编辑sshd_config文件:

$ sudo vi /etc/ssh/sshd_config

找到以下行,取消注释,并将值设置为no:

PermitRootLogin no

然后重启SSH服务,至此,你已经禁用了ssh root登录。

在Linux系统中允许或拒绝SSH访问特定用户或组的方法相关推荐

  1. php执行who命令,Linux_在Linux系统中使用who和whoami命令获取用户信息,who用法:who [选项]... [ 文件 | - phpStudy...

    在Linux系统中使用who和whoami命令获取用户信息 who用法:who [选项]... [ 文件 | 参数1 参数2 ] 显示当前已登录的用户信息. -a, --all             ...

  2. linux无密码sudo,在Linux系统中运行没有sudo密码的特定命令

    本文介绍在Linux操作系统中运行没有sudo密码的特定命令的方法. 背景 我在AWS上部署了Ubuntu系统上的脚本,此脚本的主要目的是检查特定服务是否以固定间隔运行(确切地说每隔一分钟),并且如果 ...

  3. Linux操作系统中whoami命令是指,在Linux系统中使用who和whoami命令获取用户信息

    who 用法:who [选项]... [ 文件 | 参数1 参数2 ] 显示当前已登录的用户信息. -a, --all             等于-b -d --login -p -r -t -T ...

  4. linux两个卷组可以合并,Linux系统中所有的逻辑卷必须属于同一个卷组()。

    _ 债券收益率曲线的情况分别是( ) 商业银行进行流动性管理的方法有( ). 眼见即脑见. MOST总线可以有睡眠模式直接切换到通电工作模式. 在使用递归算法解决问题时,应满足以下两点:一是该问题能够 ...

  5. Linux系统中提示/usr/bin/ld: cannot find -lxxx错误的解决方法

    报错说明 /usr/bin/ld: cannot find -lxxx 这些讯息会随着编译不同类型的source code 而有不同的结果出来如: /usr/bin/ld: cannot find - ...

  6. linux 内核日志等级,Linux系统中日志级别详情

    日志信息分类 1.等级由低到高:debug 2.区别: debug 级别最低,可以随意的使用于任何觉得有利于在调试时更详细的了解系统运行状态的东东: info  重要,输出信息:用来反馈系统的当前状态 ...

  7. 以下属于linux文件系统认为的文件是,信息安全技术题库:在Linux系统中,图形文件、数据文件、文档文件等都属于()。...

    相关题目与解析 Linux中图像文件属于().A.文本文件B.连接文件C.特殊文件D.二进制文件 主要用于Linux系统中进程间相互传递数据.A.FIFO文件B.设备文件C.链接文件D.目录文件 关于 ...

  8. linux中600是什么权限,linux系统中文件的权限

    查看文件权限的语句: 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- 一共有10位数 其中: 最前面那个 - 代表 ...

  9. Linux系统中的权限详解

    我们linux服务器上有严格的权限等级,如果权限过高导致误操作会增加服务器的风险.所以对于了解linux系统中的各种权限及要给用户,服务等分配合理的权限十分重要. 一.文件基本权限 首先看下linux ...

最新文章

  1. winsock setsockopt 详解
  2. 【Windows 逆向】OD 调试器工具 ( 显示模块窗口 | 显示记录窗口 | 显示内存窗口 | 显示线程 | 显示句柄 | 显示 CPU | 多窗口界面 )
  3. Ogre 2011-11-30
  4. Linux系统信息查看命令大全
  5. 别了,Docker Swarm !你好,K8s !
  6. java第一次上机_java第一次上机实验--验证码
  7. lnmp 1.4 mysql_lnmp1.4配置https教程
  8. 【CITE】C#默认以管理员身份运行程序实现代码
  9. 第一次面试总结--中国电子科学研究院
  10. 透过散射介质的成像matlab,基于解卷积透过散射介质大视场成像恢复方法
  11. w ndows7错误恢复,Win7 0xc000000e启动错误恢复方法
  12. 如何永久关闭QQ广告弹窗
  13. 软件工程--总体设计过程包括那些步骤---软件设计过程中应该遵循那些基本原理--模块独立性
  14. 三重积分的概念,计算(先一后二(投影穿线法))
  15. Nodejs搭建前后端分离开发模式下的微信网页项目
  16. 微软遥测服务服务器,使用 .REST 配置 Azure 媒体服务遥测 | Microsoft Docs
  17. rust墙壁升级点什么_明日之后屋子墙壁怎么升级?墙壁升级条件方法一览
  18. ACPI中各种state的关系
  19. 【Proteus仿真】Arduino UNO+PCF8574+LCD1602+MPX4250电子秤
  20. 知不足者好学耻下问者自满_努力克服自满情绪

热门文章

  1. 如何用python爬取公众号文章搜狗微信搜索_python如何爬取搜狗微信公众号文章永久链接的思路解析...
  2. 各类学术评价对象的发展脉络、测度指标与方法
  3. [每日一题] OCP1z0-047 :2013-07-12 多表插入
  4. ROS机器人SLAM学习:自建虚拟世界与Gazebo定位与导航仿真
  5. python 暂停程序 等待用户输入_Python-基础02-程序与用户交互
  6. Java 多线程 之 wait等待 线程实例
  7. rocketMq概念介绍
  8. 使用/调用 函数的时候, 前面加不加 对象或 this?
  9. [BI项目记]-搭建代码管理环境之客户端
  10. [原]浅谈几种服务器端模型——反应堆模式(epoll 简介) - _Boz - 博客园