今天桂哥网络与你分享了如何在Linux系统中禁用SSH,桂哥网络认为这很实用,所以他分享给你学习。希望你看完这篇文章能有所收获。话不多说,让我们和桂哥网络一起看看
SSH是什么?
Openssh叫做OpenBSD安全外壳。安全外壳(Secure Shell,ssh)是一种不要钱的开源网络工具,它使我们能够通过使用安全外壳(Secure Shell,SSH)协议在不安全的网络中安全地访问远程主机。
采用Client-服务器架构(C/S),具有用户认证、加密、计算机与隧道间文件传输等功能。
我们也可以使用传统工具,如telnet或rcp,但这些工具不安全,因为它们在执行任何操作时都使用明文来传输密码。
如何允许用户在Linux中使用SSH?
通过以下操作,我们可以为指定的用户或用户列表启用ssh访问。如果您想允许多个用户,您可以在添加用户时在同一行用空格分隔他们。
为了实现这个目标,只需将以下值附加到/etc/ssh/ssh _ config文件中。在这个例子中,我们将允许用户user3使用ssh。
# echo ' AllowUsers user 3 '/etc/ssh/ssh _ config
您可以运行以下命令来检查添加是不是再次成功。
# cat/etc/ssh/ssh _ config | grep-I AllowUsers AllowUsers user 3
就是这样。现在我们只需要重启ssh服务,见证奇迹。(以下两个命令效果相同,请根据您的服务管理模式选择一个执行)
# systemctlrestartsshd
或者
# ServiceStartsshd下一步很简单,只需打开一个新的终端或会话,尝试以不同的用户身份访问Linux系统。是的,这里不允许用户2使用SSH登录,并得到如下所示的错误消息。
#sshuser2@192.168.1.4
user 2 @ 192 . 168 . 1 . 4 ' spas sacre :
权限被拒绝,请重试。输出:
3月29日023:00:35 CentOS 7 ssh[4900]:来自192.168.1.6的用户2不允许,因为未在AllowUsers月29日023:00:35 CentOS 7 ssh[4900]: input _ User auth _ request :无效用户2[Preuth]3月29日023:000log name=uid=0 euid=0 tty=ssh ruser=rhost=192.168.1.6 user=user 2 Mar 29 02:00:43 Centos7 sshd[4900]:无效用户的失败密码来自192 . 168 . 1 . 6端口42568 ssh3
同时,用户user3被允许登录系统,因为他在允许用户的列表中。
#sshuser3@192.168.1.4
user 3 @ 192 . 168 . 1 . 4 ' spas sacre :
[user3@CentOS7~]$ output :
3月29日023:01:13 CentOS 7 ssh[4939]:从192.168.1.6端口42590 ssh3月29日02:01:13 CentOS 7 ssh[4939]: PAM _ UNIX(ssh d : session):为用户3打开的会话(uid=0)
如何防止用户在Linux中使用SSH?
使用以下内容,我们可以配置指定的用户或用户列表来禁用ssh。如果要禁用多个用户,可以在添加用户时用一个空格将他们分隔在同一行。
为了实现这个目标,只需将以下值附加到/etc/ssh/ssh _ config文件中。在这个例子中,
我们将禁用用户 user1 使用 ssh。# echo "DenyUsers user1" >> /etc/ssh/sshd_config
你可以运行下列命令再次检查是不是添加成功。
#cat/etc/ssh/sshd_config|grep-idenyusers DenyUsersuser1
这样就行了, 现在只需要重启 ssh 服务和见证奇迹了。
#systemctlrestartsshd 活 #servicerestartsshd
接下来很简单,只需打开一个新的终端或者会话,尝试使用被禁用的用户身份被访问 Linux 系统。是的,这里 user1 用户在禁用名单中。所以,当你尝试登录时,你将会得到如下所示的错误信息。
#sshuser1@192.168.1.4 user1@192.168.1.4'spassword: Permissiondenied,pleasetryagain.
输出:
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 ssh3
如何在 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-iallowgroups AllowGroups2g-admin
运行下列命令查看属于该用户组的用户有哪些。
#getentgroup2g-admin 2g-admin:x:1005:user1,user2,user3
这样就行了, 现在只需要重启 ssh 服务和见证奇迹了。
#systemctlrestartsshd 或 #servicerestartsshd
是的, user1 被允许登入系统因为用户 user1 属于 2g-admin 组。
#sshuser1@192.168.1.4 user1@192.168.1.4'spassword: [user1@CentOS7~]$
输出:
Mar 29 02:10:21 CentOS7 sshd[5165]: Accepted password for user1 from 192.168.1.6 port 42640 ssh3
Mar 29 02:10:22 CentOS7 sshd[5165]: pam_unix(sshd:session): session opened for user user1 by (uid=0)
是的, user2 被允许登入系统因为用户 user2 同样属于 2g-admin 组。
#sshuser2@192.168.1.4 user2@192.168.1.4'spassword: [user2@CentOS7~]$
输出:
Mar 29 02:10:38 CentOS7 sshd[5225]: Accepted password for user2 from 192.168.1.6 port 42642 ssh3 Mar 29 02:10:38 CentOS7 sshd[5225]: pam_unix(sshd:session): session opened for user user2 by (uid=0)
当你尝试使用其他不在被允许的组中的用户去登入系统时, 你将会得到如下所示的错误信息。
# ssh ladmin@192.168.1.4 ladmin@192.168.1.4'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 ssh3
如何在 Linux 中阻止用户组使用 SSH?
通过以下内容,我们可以禁用指定的组或多个组使用 ssh。
如果你想要禁用多个用户组使用 ssh,那么你需要在添加用户组时在同一行中使用空格来隔开他们。
为了达到目的只需要将下面的值追加到 /etc/ssh/sshd_config
文件中去。
# echo "DenyGroups 2g-admin" >> /etc/ssh/sshd_config
你可以运行下列命令再次检查是不是添加成功。
##cat/etc/ssh/sshd_config|grep-idenygroups DenyGroups2g-admin #getentgroup2g-admin 2g-admin:x:1005:user1,user2,user3
这样就行了, 现在只需要重启 ssh 服务和见证奇迹了。
#systemctlrestartsshd 或 #servicerestartsshd
是的 user1 不被允许登入系统,因为他是 2g-admin
用户组中的一员。他属于被禁用 ssh 的组中。
#sshuser1@192.168.1.4 user1@192.168.1.4'spassword: Permissiondenied,pleasetryagain.
输出:
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 ssh3
除了 2g-admin 用户组之外的用户都可以使用 ssh 登入系统。 例如,ladmin 等用户就允许登入系统。
#sshladmin@192.168.1.4 ladmin@192.168.1.4'spassword: [ladmin@CentOS7~]$
输出:
Mar 29 02:19:13 CentOS7 sshd[5432]: Accepted password for ladmin from 192.168.1.6 port 42716 ssh3 Mar 29 02:19:13 CentOS7 sshd[5432]: pam_unix(sshd:session): session opened for user ladmin by (uid=0) via: https://www.2daygeek.com/allow-deny-enable-disable-ssh-access-user-group-in-linux/
以上就是怎么在Linux系统中禁用 SSH,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。