Linux 為特定的用戶(hù)或用戶(hù)組啟用或禁用 SSH的方法
由于你的公司標(biāo)準(zhǔn)規(guī)定,你可能只能允許部分人訪問(wèn) Linux 系統(tǒng)?;蛘吣憧赡苤荒軌蛟试S幾個(gè)用戶(hù)組中的用戶(hù)訪問(wèn) Linux 系統(tǒng)。那么如何實(shí)現(xiàn)這樣的要求呢?最好的方法是什么呢?如何使用一個(gè)簡(jiǎn)單的方法去實(shí)現(xiàn)呢?
是的,我們會(huì)有很多種方法去實(shí)現(xiàn)它。但是我們應(yīng)該使用簡(jiǎn)單輕松的方法。為了簡(jiǎn)單輕松的完成目的,我們可以通過(guò)對(duì) /etc/ssh/sshd_config 文件做必要的修改來(lái)實(shí)現(xiàn)。在這篇文章中我們將會(huì)向你展示實(shí)現(xiàn)要求的詳細(xì)步驟。
為什么我們要這樣做呢?是出于安全的原因。你可以訪問(wèn)這個(gè)鏈接來(lái)獲取更多關(guān)于 openSSH 的使用方法。
什么是 SSH ?
openssh 全稱(chēng)為 OpenBSD Secure Shell。Secure Shell(ssh)是一個(gè)自由開(kāi)源的網(wǎng)絡(luò)工具,它能讓我們?cè)谝粋€(gè)不安全的網(wǎng)絡(luò)中通過(guò)使用 Secure Shell(SSH)協(xié)議來(lái)安全訪問(wèn)遠(yuǎn)程主機(jī)。
它采用了客戶(hù)端-服務(wù)器架構(gòu)(C/S),擁有用戶(hù)身份認(rèn)證、加密、在計(jì)算機(jī)和隧道之間傳輸文件等功能。
我們也可以用 telnet 或 rcp 等傳統(tǒng)工具來(lái)完成,但是這些工具都不安全,因?yàn)樗鼈冊(cè)趫?zhí)行任何動(dòng)作時(shí)都會(huì)使用明文來(lái)傳輸密碼。
如何在 Linux 中允許用戶(hù)使用 SSH?
通過(guò)以下內(nèi)容,我們可以為指定的用戶(hù)或用戶(hù)列表啟用 ssh 訪問(wèn)。如果你想要允許多個(gè)用戶(hù),那么你可以在添加用戶(hù)時(shí)在同一行中用空格來(lái)隔開(kāi)他們。
為了達(dá)到目的只需要將下面的值追加到 /etc/ssh/sshd_config 文件中去。 在這個(gè)例子中, 我們將會(huì)允許用戶(hù) user3 使用 ssh。
# echo "AllowUsers user3" >> /etc/ssh/sshd_config
你可以運(yùn)行下列命令再次檢查是否添加成功。
# cat /etc/ssh/sshd_config | grep -i allowusers AllowUsers user3
這樣就行了, 現(xiàn)在只需要重啟 ssh 服務(wù)和見(jiàn)證奇跡了。(下面這兩條命令效果相同, 請(qǐng)根據(jù)你的服務(wù)管理方式選擇一條執(zhí)行即可)
# systemctl restart sshd 或 # service restart sshd
接下來(lái)很簡(jiǎn)單,只需打開(kāi)一個(gè)新的終端或者會(huì)話嘗試用不同的用戶(hù)身份訪問(wèn) Linux 系統(tǒng)。是的,這里 user2 用戶(hù)是不被允許使用 SSH 登錄的并且會(huì)得到如下所示的錯(cuò)誤信息。
# ssh user2@192.168.1.4 user2@192.168.1.4'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
與此同時(shí)用戶(hù) user3 被允許登入系統(tǒng)因?yàn)樗诒辉试S的用戶(hù)列表中。
# ssh user3@192.168.1.4 user3@192.168.1.4'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 中阻止用戶(hù)使用 SSH ?
通過(guò)以下內(nèi)容,我們可以配置指定的用戶(hù)或用戶(hù)列表禁用 ssh。如果你想要禁用多個(gè)用戶(hù),那么你可以在添加用戶(hù)時(shí)在同一行中用空格來(lái)隔開(kāi)他們。
為了達(dá)到目的只需要將以下值追加到 /etc/ssh/sshd_config 文件中去。 在這個(gè)例子中, 我們將禁用用戶(hù) user1 使用 ssh。
# echo "DenyUsers user1" >> /etc/ssh/sshd_config
你可以運(yùn)行下列命令再次檢查是否添加成功。
# cat /etc/ssh/sshd_config | grep -i denyusers DenyUsers user1
這樣就行了, 現(xiàn)在只需要重啟 ssh 服務(wù)和見(jiàn)證奇跡了。
# systemctl restart sshd 活 # service restart sshd
接下來(lái)很簡(jiǎn)單,只需打開(kāi)一個(gè)新的終端或者會(huì)話,嘗試使用被禁用的用戶(hù)身份被訪問(wèn) Linux 系統(tǒng)。是的,這里 user1 用戶(hù)在禁用名單中。所以,當(dāng)你嘗試登錄時(shí),你將會(huì)得到如下所示的錯(cuò)誤信息。
# ssh user1@192.168.1.4 user1@192.168.1.4'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 中允許用戶(hù)組使用 SSH?
通過(guò)以下內(nèi)容,我們可以允許一個(gè)指定的組或多個(gè)組使用 ssh。
如果你想要允許多個(gè)組使用 ssh 那么你在添加用戶(hù)組時(shí)需要在同一行中使用空格來(lái)隔開(kāi)他們。
為了達(dá)到目的只需將以下值追加到 /etc/ssh/sshd_config 文件中去。在這個(gè)例子中,我們將允許 2g-admin 組使用 ssh。
# echo "AllowGroups 2g-admin" >> /etc/ssh/sshd_config
你可以運(yùn)行下列命令再次檢查是否添加成功。
# cat /etc/ssh/sshd_config | grep -i allowgroups AllowGroups 2g-admin
運(yùn)行下列命令查看屬于該用戶(hù)組的用戶(hù)有哪些。
# getent group 2g-admin 2g-admin:x:1005:user1,user2,user3
這樣就行了, 現(xiàn)在只需要重啟 ssh 服務(wù)和見(jiàn)證奇跡了。
# systemctl restart sshd 或 # service restart sshd
是的, user1 被允許登入系統(tǒng)因?yàn)橛脩?hù) user1 屬于 2g-admin 組。
# ssh user1@192.168.1.4 user1@192.168.1.4'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 被允許登入系統(tǒng)因?yàn)橛脩?hù) user2 同樣屬于 2g-admin 組。
# ssh user2@192.168.1.4 user2@192.168.1.4'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)
當(dāng)你嘗試使用其他不在被允許的組中的用戶(hù)去登入系統(tǒng)時(shí), 你將會(huì)得到如下所示的錯(cuò)誤信息。
# 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 ssh2
如何在 Linux 中阻止用戶(hù)組使用 SSH?
通過(guò)以下內(nèi)容,我們可以禁用指定的組或多個(gè)組使用 ssh。
如果你想要禁用多個(gè)用戶(hù)組使用 ssh,那么你需要在添加用戶(hù)組時(shí)在同一行中使用空格來(lái)隔開(kāi)他們。
為了達(dá)到目的只需要將下面的值追加到 /etc/ssh/sshd_config 文件中去。
# echo "DenyGroups 2g-admin" >> /etc/ssh/sshd_config
你可以運(yùn)行下列命令再次檢查是否添加成功。
# # cat /etc/ssh/sshd_config | grep -i denygroups DenyGroups 2g-admin # getent group 2g-admin 2g-admin:x:1005:user1,user2,user3
這樣就行了, 現(xiàn)在只需要重啟 ssh 服務(wù)和見(jiàn)證奇跡了。
# systemctl restart sshd 或 # service restart sshd
是的 user1 不被允許登入系統(tǒng),因?yàn)樗?2g-admin 用戶(hù)組中的一員。他屬于被禁用 ssh 的組中。
# ssh user1@192.168.1.4 user1@192.168.1.4'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 用戶(hù)組之外的用戶(hù)都可以使用 ssh 登入系統(tǒng)。 例如,ladmin 等用戶(hù)就允許登入系統(tǒng)。
# ssh ladmin@192.168.1.4 ladmin@192.168.1.4'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: https://www.2daygeek.com/allow-deny-enable-disable-ssh-access-user-group-in-linux/
總結(jié)
到此這篇關(guān)于如何在 Linux 上為特定的用戶(hù)或用戶(hù)組啟用或禁用 SSH的文章就介紹到這了,更多相關(guān)linux 用戶(hù)或用戶(hù)組ssh內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
apache ab工具頁(yè)面壓力測(cè)試返回結(jié)果含義解釋
這篇文章主要介紹了apache ab工具頁(yè)面壓力測(cè)試返回結(jié)果含義解釋,ab工具的使用非常簡(jiǎn)單,但返回結(jié)果中的數(shù)據(jù)有點(diǎn)多,看不懂的話就需要看看本文了,需要的朋友可以參考下2015-07-07
inotify+rsync實(shí)現(xiàn)實(shí)時(shí)同步的方法
下面小編就為大家分享一篇inotify+rsync實(shí)現(xiàn)實(shí)時(shí)同步的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12
Linux系統(tǒng)用戶(hù)管理命令小結(jié)
這篇文章主要介紹了Linux系統(tǒng)用戶(hù)管理命令小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
apache無(wú)法啟動(dòng)的可能原因分析及對(duì)策
在遇到apache無(wú)法啟動(dòng)時(shí),可以參照如下可能的原因進(jìn)行分析與解決,有類(lèi)似情況的朋友可以參考下哈2013-05-05
centos 5.1下的安全設(shè)置(適合所有的linux版本)
因?yàn)閞oot用戶(hù)對(duì)系統(tǒng)具有全權(quán)的操作權(quán)限,為了避免一些失誤的操作,建議在一般情況下,以一般用戶(hù)登錄系統(tǒng),必要的時(shí)候需要root操作權(quán)限時(shí),再通過(guò)“su -”命令來(lái)登錄為root用戶(hù)進(jìn)行操作。2010-03-03
在Apache服務(wù)器上啟用GZip壓縮靜態(tài)內(nèi)容的方法
這篇文章主要介紹了在Apache服務(wù)器上啟用GZip壓縮靜態(tài)內(nèi)容的方法,通過(guò)配置.htaccess文件即可輕松實(shí)現(xiàn),同時(shí)附帶了一些GZip的常用命令,需要的朋友可以參考下2015-08-08
Linux一鍵安裝web環(huán)境全攻略(阿里云服務(wù)器)
這篇文章主要介紹了Linux一鍵安裝web環(huán)境全攻略,這些都是阿里云出的方便站長(zhǎng)架設(shè)php運(yùn)行環(huán)境的工具,需要的朋友可以參考下2016-10-10

