溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在Linux系統(tǒng)中禁用 SSH

發(fā)布時(shí)間:2021-01-13 15:16:44 來源:億速云 閱讀:526 作者:Leah 欄目:服務(wù)器

本篇文章給大家分享的是有關(guān)怎么在Linux系統(tǒng)中禁用 SSH,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

什么是 SSH ?

openssh 全稱為 OpenBSD Secure Shell。Secure Shell(ssh)是一個(gè)自由開源的網(wǎng)絡(luò)工具,它能讓我們在一個(gè)不安全的網(wǎng)絡(luò)中通過使用 Secure Shell(SSH)協(xié)議來安全訪問遠(yuǎn)程主機(jī)。

它采用了客戶端-服務(wù)器架構(gòu)(C/S),擁有用戶身份認(rèn)證、加密、在計(jì)算機(jī)和隧道之間傳輸文件等功能。

我們也可以用 telnet 或 rcp 等傳統(tǒng)工具來完成,但是這些工具都不安全,因?yàn)樗鼈冊趫?zhí)行任何動(dòng)作時(shí)都會(huì)使用明文來傳輸密碼。

如何在 Linux 中允許用戶使用 SSH?

通過以下內(nèi)容,我們可以為指定的用戶或用戶列表啟用 ssh 訪問。如果你想要允許多個(gè)用戶,那么你可以在添加用戶時(shí)在同一行中用空格來隔開他們。

為了達(dá)到目的只需要將下面的值追加到 /etc/ssh/sshd_config 文件中去。 在這個(gè)例子中, 我們將會(huì)允許用戶 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ù)和見證奇跡了。(下面這兩條命令效果相同, 請根據(jù)你的服務(wù)管理方式選擇一條執(zhí)行即可)

# systemctl restart sshd
或
# service restart sshd

接下來很簡單,只需打開一個(gè)新的終端或者會(huì)話嘗試用不同的用戶身份訪問 Linux 系統(tǒng)。是的,這里 user2 用戶是不被允許使用 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 ssh3

與此同時(shí)用戶 user3 被允許登入系統(tǒng)因?yàn)樗诒辉试S的用戶列表中。

# 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 ssh3 Mar 29 02:01:13 CentOS7 sshd[4939]: pam_unix(sshd:session): session opened for user user3 by (uid=0)

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

通過以下內(nèi)容,我們可以配置指定的用戶或用戶列表禁用 ssh。如果你想要禁用多個(gè)用戶,那么你可以在添加用戶時(shí)在同一行中用空格來隔開他們。

為了達(dá)到目的只需要將以下值追加到 /etc/ssh/sshd_config 文件中去。 在這個(gè)例子中, 我們將禁用用戶 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ù)和見證奇跡了。

# systemctl restart sshd
活
# service restart sshd

接下來很簡單,只需打開一個(gè)新的終端或者會(huì)話,嘗試使用被禁用的用戶身份被訪問 Linux 系統(tǒng)。是的,這里 user1 用戶在禁用名單中。所以,當(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 ssh3

如何在 Linux 中允許用戶組使用 SSH?

通過以下內(nèi)容,我們可以允許一個(gè)指定的組或多個(gè)組使用 ssh。

如果你想要允許多個(gè)組使用 ssh 那么你在添加用戶組時(shí)需要在同一行中使用空格來隔開他們。

為了達(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)行下列命令查看屬于該用戶組的用戶有哪些。

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

這樣就行了, 現(xiàn)在只需要重啟 ssh 服務(wù)和見證奇跡了。

# systemctl restart sshd
或
# service restart sshd

是的, user1 被允許登入系統(tǒng)因?yàn)橛脩?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 ssh3
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)橛脩?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 ssh3 Mar 29 02:10:38 CentOS7 sshd[5225]: pam_unix(sshd:session): session opened for user user2 by (uid=0)

當(dāng)你嘗試使用其他不在被允許的組中的用戶去登入系統(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 ssh3

如何在 Linux 中阻止用戶組使用 SSH?

通過以下內(nèi)容,我們可以禁用指定的組或多個(gè)組使用 ssh。

如果你想要禁用多個(gè)用戶組使用 ssh,那么你需要在添加用戶組時(shí)在同一行中使用空格來隔開他們。

為了達(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ù)和見證奇跡了。

# systemctl restart sshd
或
# service restart sshd

是的 user1 不被允許登入系統(tǒng),因?yàn)樗?2g-admin 用戶組中的一員。他屬于被禁用 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 ssh3

除了 2g-admin 用戶組之外的用戶都可以使用 ssh 登入系統(tǒng)。 例如,ladmin 等用戶就允許登入系統(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 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系統(tǒng)中禁用 SSH,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI