华域联盟 Linux Linux 为特定的用户或用户组启用或禁用 SSH的方法

Linux 为特定的用户或用户组启用或禁用 SSH的方法

Linux 为特定的用户或用户组启用或禁用 SSH的方法

 更新时间:2020年03月27日 10:04:48   作者:2daygeek  
这篇文章主要介绍了如何在 Linux 上为特定的用户或用户组启用或禁用 SSH,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

由于你的公司标准规定,你可能只能允许部分人访问 Linux 系统。或者你可能只能够允许几个用户组中的用户访问 Linux 系统。那么如何实现这样的要求呢?最好的方法是什么呢?如何使用一个简单的方法去实现呢?

是的,我们会有很多种方法去实现它。但是我们应该使用简单轻松的方法。为了简单轻松的完成目的,我们可以通过对 /etc/ssh/sshd_config 文件做必要的修改来实现。在这篇文章中我们将会向你展示实现要求的详细步骤。

为什么我们要这样做呢?是出于安全的原因。你可以访问这个链接来获取更多关于 openSSH 的使用方法。

什么是 SSH ?

openssh 全称为 OpenBSD Secure Shell。Secure Shell(ssh)是一个自由开源的网络工具,它能让我们在一个不安全的网络中通过使用 Secure Shell(SSH)协议来安全访问远程主机。

它采用了客户端-服务器架构(C/S),拥有用户身份认证、加密、在计算机和隧道之间传输文件等功能。

我们也可以用 telnet 或 rcp 等传统工具来完成,但是这些工具都不安全,因为它们在执行任何动作时都会使用明文来传输密码。

如何在 Linux 中允许用户使用 SSH?

通过以下内容,我们可以为指定的用户或用户列表启用 ssh 访问。如果你想要允许多个用户,那么你可以在添加用户时在同一行中用空格来隔开他们。

为了达到目的只需要将下面的值追加到 /etc/ssh/sshd_config 文件中去。 在这个例子中, 我们将会允许用户 user3 使用 ssh。

# echo "AllowUsers user3" >> /etc/ssh/sshd_config

你可以运行下列命令再次检查是否添加成功。

# cat /etc/ssh/sshd_config | grep -i allowusers AllowUsers user3

这样就行了, 现在只需要重启 ssh 服务和见证奇迹了。(下面这两条命令效果相同, 请根据你的服务管理方式选择一条执行即可)

# systemctl restart sshd
或
# service restart sshd

接下来很简单,只需打开一个新的终端或者会话尝试用不同的用户身份访问 Linux 系统。是的,这里 user2 用户是不被允许使用 SSH 登录的并且会得到如下所示的错误信息。

# ssh [email protected]
[email protected]'s password: 
Permission denied, please try again.

输出:

Mar 29 02:00:35 CentOS7 sshd[4900]: User user2 from 192.168.1.6 not allowed because not listed in AllowUsers Mar 29 02:00:35 CentOS7 sshd[4900]: input_userauth_request: invalid user user2 [preauth] Mar 29 02:00:40 CentOS7 unix_chkpwd[4902]: password check failed for user (user2) Mar 29 02:00:40 CentOS7 sshd[4900]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.1.6 user=user2 Mar 29 02:00:43 CentOS7 sshd[4900]: Failed password for invalid user user2 from 192.168.1.6 port 42568 ssh2

与此同时用户 user3 被允许登入系统因为他在被允许的用户列表中。

# ssh [email protected]
[email protected]'s password: 
[user3@CentOS7 ~]$

输出:

Mar 29 02:01:13 CentOS7 sshd[4939]: Accepted password for user3 from 192.168.1.6 port 42590 ssh2 Mar 29 02:01:13 CentOS7 sshd[4939]: pam_unix(sshd:session): session opened for user user3 by (uid=0)

如何在 Linux 中阻止用户使用 SSH ?

通过以下内容,我们可以配置指定的用户或用户列表禁用 ssh。如果你想要禁用多个用户,那么你可以在添加用户时在同一行中用空格来隔开他们。

为了达到目的只需要将以下值追加到 /etc/ssh/sshd_config 文件中去。 在这个例子中, 我们将禁用用户 user1 使用 ssh。

# echo "DenyUsers user1" >> /etc/ssh/sshd_config

你可以运行下列命令再次检查是否添加成功。

# cat /etc/ssh/sshd_config | grep -i denyusers
DenyUsers user1

这样就行了, 现在只需要重启 ssh 服务和见证奇迹了。

# systemctl restart sshd
活
# service restart sshd

接下来很简单,只需打开一个新的终端或者会话,尝试使用被禁用的用户身份被访问 Linux 系统。是的,这里 user1 用户在禁用名单中。所以,当你尝试登录时,你将会得到如下所示的错误信息。

# ssh [email protected]
[email protected]'s password: 
Permission denied, please try again.

输出:

Mar 29 01:53:42 CentOS7 sshd[4753]: User user1 from 192.168.1.6 not allowed because listed in DenyUsers Mar 29 01:53:42 CentOS7 sshd[4753]: input_userauth_request: invalid user user1 [preauth] Mar 29 01:53:46 CentOS7 unix_chkpwd[4755]: password check failed for user (user1) Mar 29 01:53:46 CentOS7 sshd[4753]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.1.6 user=user1 Mar 29 01:53:48 CentOS7 sshd[4753]: Failed password for invalid user user1 from 192.168.1.6 port 42522 ssh2

如何在 Linux 中允许用户组使用 SSH?

通过以下内容,我们可以允许一个指定的组或多个组使用 ssh。

如果你想要允许多个组使用 ssh 那么你在添加用户组时需要在同一行中使用空格来隔开他们。

为了达到目的只需将以下值追加到 /etc/ssh/sshd_config 文件中去。在这个例子中,我们将允许 2g-admin 组使用 ssh。

# echo "AllowGroups 2g-admin" >> /etc/ssh/sshd_config

你可以运行下列命令再次检查是否添加成功。

# cat /etc/ssh/sshd_config | grep -i allowgroups
AllowGroups 2g-admin

运行下列命令查看属于该用户组的用户有哪些。

# getent group 2g-admin
2g-admin:x:1005:user1,user2,user3

这样就行了, 现在只需要重启 ssh 服务和见证奇迹了。

# systemctl restart sshd
或
# service restart sshd

是的, user1 被允许登入系统因为用户 user1 属于 2g-admin 组。

# ssh [email protected]
[email protected]'s password: 
[user1@CentOS7 ~]$

输出:

Mar 29 02:10:21 CentOS7 sshd[5165]: Accepted password for user1 from 192.168.1.6 port 42640 ssh2
Mar 29 02:10:22 CentOS7 sshd[5165]: pam_unix(sshd:session): session opened for user user1 by (uid=0)

是的, user2 被允许登入系统因为用户 user2 同样属于 2g-admin 组。

# ssh [email protected]
[email protected]'s password: 
[user2@CentOS7 ~]$

输出:

Mar 29 02:10:38 CentOS7 sshd[5225]: Accepted password for user2 from 192.168.1.6 port 42642 ssh2 Mar 29 02:10:38 CentOS7 sshd[5225]: pam_unix(sshd:session): session opened for user user2 by (uid=0)

当你尝试使用其他不在被允许的组中的用户去登入系统时, 你将会得到如下所示的错误信息。

# ssh [email protected] [email protected]'s password: Permission denied, please try again.

输出:

Mar 29 02:12:36 CentOS7 sshd[5306]: User ladmin from 192.168.1.6 not allowed because none of user's groups are listed in AllowGroups Mar 29 02:12:36 CentOS7 sshd[5306]: input_userauth_request: invalid user ladmin [preauth] Mar 29 02:12:56 CentOS7 unix_chkpwd[5310]: password check failed for user (ladmin) Mar 29 02:12:56 CentOS7 sshd[5306]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.1.6 user=ladmin Mar 29 02:12:58 CentOS7 sshd[5306]: Failed password for invalid user ladmin from 192.168.1.6 port 42674 ssh2

如何在 Linux 中阻止用户组使用 SSH?

通过以下内容,我们可以禁用指定的组或多个组使用 ssh。

如果你想要禁用多个用户组使用 ssh,那么你需要在添加用户组时在同一行中使用空格来隔开他们。

为了达到目的只需要将下面的值追加到 /etc/ssh/sshd_config 文件中去。

# echo "DenyGroups 2g-admin" >> /etc/ssh/sshd_config

你可以运行下列命令再次检查是否添加成功。

# # cat /etc/ssh/sshd_config | grep -i denygroups
DenyGroups 2g-admin
# getent group 2g-admin
2g-admin:x:1005:user1,user2,user3

这样就行了, 现在只需要重启 ssh 服务和见证奇迹了。

# systemctl restart sshd
或
# service restart sshd

是的 user1 不被允许登入系统,因为他是 2g-admin 用户组中的一员。他属于被禁用 ssh 的组中。

# ssh [email protected]
[email protected]'s password: 
Permission denied, please try again.

输出:

Mar 29 02:17:32 CentOS7 sshd[5400]: User user1 from 192.168.1.6 not allowed because a group is listed in DenyGroups Mar 29 02:17:32 CentOS7 sshd[5400]: input_userauth_request: invalid user user1 [preauth] Mar 29 02:17:38 CentOS7 unix_chkpwd[5402]: password check failed for user (user1) Mar 29 02:17:38 CentOS7 sshd[5400]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.1.6 user=user1 Mar 29 02:17:41 CentOS7 sshd[5400]: Failed password for invalid user user1 from 192.168.1.6 port 42710 ssh2

除了 2g-admin 用户组之外的用户都可以使用 ssh 登入系统。 例如,ladmin 等用户就允许登入系统。

# ssh [email protected]
[email protected]'s password: 
[ladmin@CentOS7 ~]$

输出:

Mar 29 02:19:13 CentOS7 sshd[5432]: Accepted password for ladmin from 192.168.1.6 port 42716 ssh2 Mar 29 02:19:13 CentOS7 sshd[5432]: pam_unix(sshd:session): session opened for user ladmin by (uid=0) via: www.2daygeek.com/allow-deny-enable-disable-ssh-access-user-group-in-linux/

总结

到此这篇关于如何在 Linux 上为特定的用户或用户组启用或禁用 SSH的文章就介绍到这了,更多相关linux 用户或用户组ssh内容请搜索华域联盟以前的文章或继续浏览下面的相关文章希望大家以后多多支持华域联盟!

您可能感兴趣的文章:

相关文章

  • Linux配置SSH和Xshell连接服务器的教程(图解)

    Linux配置SSH和Xshell连接服务器的教程(图解)

    这篇文章主要介绍了Linux配置SSH和Xshell连接服务器的教程,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

    2019-11-11

  • centos下yum搭建安装linux+apache+mysql+php环境的方法

    centos下yum搭建安装linux+apache+mysql+php环境的方法

    这篇文章主要介绍了centos下yum搭建安装linux+apache+mysql+php环境的方法,本文分步骤给大家介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下

    2016-10-10

  • Linux中对MySQL优化实例详解

    Linux中对MySQL优化实例详解

    这篇文章主要介绍了Linux中对MySQL优化实例详解的相关资料,需要的朋友可以参考下

    2017-05-05

  • 使用ssh-keygen,实现免密码登陆linux的方法

    使用ssh-keygen,实现免密码登陆linux的方法

    下面小编就为大家带来一篇使用ssh-keygen,实现免密码登陆linux的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    2016-11-11

  • CentOS 8.1下搭建LEMP(Linux+Nginx+MySQL+PHP)环境(教程详解)

    CentOS 8.1下搭建LEMP(Linux+Nginx+MySQL+PHP)环境(教程详解)

    LEMP是一个软件堆栈,包含一组免费的开源工具,这些工具用于为高流量和动态网站提供动力。 这篇文章给大家介绍如何在CentOS 8 Linux发行版上安装LEMP服务器,本文通过实例代码给大家介绍的非常详细,对大家的工作或学习具有一定的参考借鉴价值,需要的朋友参考下吧

    2020-03-03

  • centos7切换启动内核与切换启动模式的讲解

    centos7切换启动内核与切换启动模式的讲解

    今天小编就为大家分享一篇关于centos7切换启动内核与切换启动模式的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    2019-04-04

  • Linux expect实现自动登录脚本实例代码

    Linux expect实现自动登录脚本实例代码

    expect是一个基于Tcl的用于自动交互操作的工具语言,它适合用来编写需要交互的自动化脚本,比如上面提到的SSH输入用户名密码,自动FTP等等场景。下面这篇文章主要给大家介绍了关于Linux expect实现自动登录脚本的相关资料,需要的朋友可以参考下。

    2018-03-03

  • 在Bash脚本中创建和使用数组方法总结

    在Bash脚本中创建和使用数组方法总结

    在本篇文章里小编给大家整理了关于在Bash脚本中创建和使用数组方法和相关知识点,需要的朋友们在学习下。

    2019-03-03

  • linux编辑文件保存退出的实操讲解

    linux编辑文件保存退出的实操讲解

    在本篇文章里小编给大家整理的是一篇关于linux编辑文件保存退出的实操讲解内容,需要的朋友们参考下。

    2020-02-02

  • Centos中root密码重置的实现及步骤详解

    Centos中root密码重置的实现及步骤详解

    这篇文章主要介绍了Centos中root密码重置的实现及步骤详解的相关资料,需要的朋友可以参考下

    2017-07-07

最新评论

本文由 华域联盟 原创撰写:华域联盟 » Linux 为特定的用户或用户组启用或禁用 SSH的方法

转载请保留出处和原文链接:https://www.cnhackhy.com/3720.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

CentOS8出现-bash:乱码问题及解决方法

linux中的相对路径的表示方法

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们