您好,登錄后才能下訂單哦!
本篇內容介紹了“在Linux上怎么為特定的用戶或用戶組啟用或禁用SSH”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
openssh 全稱為 OpenBSD Secure Shell。Secure Shell(ssh)是一個自由開源的網絡工具,它能讓我們在一個不安全的網絡中通過使用 Secure Shell(SSH)協議來安全訪問遠程主機。
它采用了客戶端-服務器架構(C/S),擁有用戶身份認證、加密、在計算機和隧道之間傳輸文件等功能。
我們也可以用 telnet
或 rcp
等傳統工具來完成,但是這些工具都不安全,因為它們在執行任何動作時都會使用明文來傳輸密碼。
通過以下內容,我們可以為指定的用戶或用戶列表啟用 ssh
訪問。如果你想要允許多個用戶,那么你可以在添加用戶時在同一行中用空格來隔開他們。
為了達到目的只需要將下面的值追加到 /etc/ssh/sshd_config
文件中去。 在這個例子中, 我們將會允許用戶 user3
使用 ssh。
# echo "AllowUsers user3" >> /etc/ssh/sshd_config
你可以運行下列命令再次檢查是否添加成功。
# cat /etc/ssh/sshd_config | grep -i allowusersAllowUsers user3
這樣就行了, 現在只需要重啟 ssh
服務和見證奇跡了。(下面這兩條命令效果相同, 請根據你的服務管理方式選擇一條執行即可)
# systemctl restart sshd或# service restart sshd
接下來很簡單,只需打開一個新的終端或者會話嘗試用不同的用戶身份訪問 Linux 系統。是的,這里 user2
用戶是不被允許使用 SSH 登錄的并且會得到如下所示的錯誤信息。
# ssh user2@192.168.1.4user2@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 AllowUsersMar 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=user2Mar 29 02:00:43 CentOS7 sshd[4900]: Failed password for invalid user user2 from 192.168.1.6 port 42568 ssh3
與此同時用戶 user3
被允許登入系統因為他在被允許的用戶列表中。
# ssh user3@192.168.1.4user3@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 ssh3Mar 29 02:01:13 CentOS7 sshd[4939]: pam_unix(sshd:session): session opened for user user3 by (uid=0)
通過以下內容,我們可以配置指定的用戶或用戶列表禁用 ssh
。如果你想要禁用多個用戶,那么你可以在添加用戶時在同一行中用空格來隔開他們。
為了達到目的只需要將以下值追加到 /etc/ssh/sshd_config
文件中去。 在這個例子中, 我們將禁用用戶 user1
使用 ssh
。
# echo "DenyUsers user1" >> /etc/ssh/sshd_config
你可以運行下列命令再次檢查是否添加成功。
# cat /etc/ssh/sshd_config | grep -i denyusersDenyUsers user1
這樣就行了, 現在只需要重啟 ssh
服務和見證奇跡了。
# systemctl restart sshd活# service restart sshd
接下來很簡單,只需打開一個新的終端或者會話,嘗試使用被禁用的用戶身份被訪問 Linux 系統。是的,這里 user1
用戶在禁用名單中。所以,當你嘗試登錄時,你將會得到如下所示的錯誤信息。
# ssh user1@192.168.1.4user1@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 DenyUsersMar 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=user1Mar 29 01:53:48 CentOS7 sshd[4753]: Failed password for invalid user user1 from 192.168.1.6 port 42522 ssh3
通過以下內容,我們可以允許一個指定的組或多個組使用 ssh
。
如果你想要允許多個組使用 ssh
那么你在添加用戶組時需要在同一行中使用空格來隔開他們。
為了達到目的只需將以下值追加到 /etc/ssh/sshd_config
文件中去。在這個例子中,我們將允許 2g-admin
組使用 ssh。
# echo "AllowGroups 2g-admin" >> /etc/ssh/sshd_config
你可以運行下列命令再次檢查是否添加成功。
# cat /etc/ssh/sshd_config | grep -i allowgroupsAllowGroups 2g-admin
運行下列命令查看屬于該用戶組的用戶有哪些。
# getent group 2g-admin2g-admin:x:1005:user1,user2,user3
這樣就行了, 現在只需要重啟 ssh
服務和見證奇跡了。
# systemctl restart sshd或# service restart sshd
是的, user1
被允許登入系統因為用戶 user1
屬于 2g-admin
組。
# ssh user1@192.168.1.4user1@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 ssh3Mar 29 02:10:22 CentOS7 sshd[5165]: pam_unix(sshd:session): session opened for user user1 by (uid=0)
是的, user2
被允許登入系統因為用戶 user2
同樣屬于 2g-admin
組。
# ssh user2@192.168.1.4user2@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 ssh3Mar 29 02:10:38 CentOS7 sshd[5225]: pam_unix(sshd:session): session opened for user user2 by (uid=0)
當你嘗試使用其他不在被允許的組中的用戶去登入系統時, 你將會得到如下所示的錯誤信息。
# ssh ladmin@192.168.1.4ladmin@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 AllowGroupsMar 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=ladminMar 29 02:12:58 CentOS7 sshd[5306]: Failed password for invalid user ladmin from 192.168.1.6 port 42674 ssh3
通過以下內容,我們可以禁用指定的組或多個組使用 ssh
。
如果你想要禁用多個用戶組使用 ssh
,那么你需要在添加用戶組時在同一行中使用空格來隔開他們。
為了達到目的只需要將下面的值追加到 /etc/ssh/sshd_config
文件中去。
# echo "DenyGroups 2g-admin" >> /etc/ssh/sshd_config
你可以運行下列命令再次檢查是否添加成功。
# # cat /etc/ssh/sshd_config | grep -i denygroupsDenyGroups 2g-admin # getent group 2g-admin2g-admin:x:1005:user1,user2,user3
這樣就行了, 現在只需要重啟 ssh
服務和見證奇跡了。
# systemctl restart sshd或# service restart sshd
是的 user1
不被允許登入系統,因為他是 2g-admin
用戶組中的一員。他屬于被禁用 ssh
的組中。
# ssh user1@192.168.1.4user1@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 DenyGroupsMar 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=user1Mar 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
等用戶就允許登入系統。
# ssh ladmin@192.168.1.4ladmin@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 ssh3Mar 29 02:19:13 CentOS7 sshd[5432]: pam_unix(sshd:session): session opened for user ladmin by (uid=0)
“在Linux上怎么為特定的用戶或用戶組啟用或禁用SSH”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。