Linux で特定のユーザーまたはユーザー グループに対して SSH を有効または無効にする方法

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 サービスを再起動するだけで、魔法のようなことが起こるはずです。 (以下の 2 つのコマンドは同じ効果を持ちます。サービスの管理方法に応じていずれかを選択してください。)

# systemctl sshdを再起動します
または# サービスを再起動します sshd

新しいターミナルまたはセッションを開いて、別のユーザーとして Linux システムにアクセスするのは簡単です。はい、ここでは user2 は SSH を使用してログインすることができず、以下に示すエラー メッセージが表示されます。

# ssh ユーザー[email protected]
[email protected]のパスワード: 
権限が拒否されました。もう一度お試しください。

出力:

3月29日02:35 CENTOS7 SSHD [4900]:Alowusersにリストされていないため、192.168.1.6からのユーザーユーザー2 centos7 SSHD [4900]:入力(user2)3月29日02:40 CENTOS7 SSHD [4900]:PAM_UNIX(SSHD:auth):認証障害= 0 euid = 0 tty = ssh ruser = rhost = 192.168.1.6 user = user = user = user2 mar 2902:43 centos7 6ポート42568 SSH2

同時に、user3 は許可されたユーザーのリストに含まれているため、システムにログインできます。

# ssh ユーザー[email protected]
[email protected]のパスワード: 
[user3@CentOS7 ~]$

出力:

3月29日 02:01:13 CentOS7 sshd[4939]: 192.168.1.6 ポート 42590 ssh2 から user3 のパスワードを受け入れました 3月29日 02:01:13 CentOS7 sshd[4939]: pam_unix(sshd:session): (uid=0) によってユーザー user3 のセッションが開かれました

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 ユーザー1

これで完了です。ssh サービスを再起動するだけで、魔法のようなことが起こるはずです。

# systemctl sshdを再起動します
# サービスを再起動します。sshd

新しいターミナルまたはセッションを開き、無効なユーザーを使用して Linux システムにアクセスしようとするのは簡単です。はい、ここでは user1 ユーザーが禁止リストに含まれています。そのため、ログインしようとすると、以下に示すようなエラー メッセージが表示されます。

# ssh ユーザー[email protected]
[email protected]のパスワード: 
権限が拒否されました。もう一度お試しください。

出力:

3月29日01:53:42 CENTOS7 SSHD [4753]:192.168.1.6からのユーザーユーザー1は、Denyusersにリストされていますユーザー(user1)3月29日に失敗しました192.168.1.6ポート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 グループ 2g-admin
2g-admin:x:1005:ユーザー1、ユーザー2、ユーザー3

これで完了です。ssh サービスを再起動するだけで、魔法のようなことが起こるはずです。

# systemctl sshdを再起動します
または# サービスを再起動します sshd

はい、ユーザー user1 は 2g-admin グループに属しているため、システムにログインできます。

# ssh ユーザー[email protected]
[email protected]のパスワード: 
[user1@CentOS7 ~]$

出力:

3月29日 02:10:21 CentOS7 sshd[5165]: 192.168.1.6 ポート 42640 ssh2 から user1 のパスワードを受け入れました
3月29日 02:10:22 CentOS7 sshd[5165]: pam_unix(sshd:session): ユーザーuser1のセッションが(uid=0)によって開かれました

はい、ユーザー user2 も 2g-admin グループに属しているため、システムにログインできます。

# ssh ユーザー[email protected]
[email protected]のパスワード: 
[user2@CentOS7 ~]$

出力:

3月29日 02:10:38 CentOS7 sshd[5225]: 192.168.1.6 ポート 42642 ssh2 から user2 のパスワードを受け入れました 3月29日 02:10:38 CentOS7 sshd[5225]: pam_unix(sshd:session): (uid=0) によってユーザー user2 のセッションが開かれました

許可されたグループに属していない他のユーザーを使用してシステムにログインしようとすると、以下に示すようなエラー メッセージが表示されます。

# ssh [email protected] [email protected] のパスワード: アクセスが拒否されました。もう一度お試しください。

出力:

3月29日02:12:36 CENTOS7 SSHD [5306]:192.168.1.6からのユーザーラドミンは、ユーザーのグループがAllowGroupsにリストされていないため、3月29日02:12:36 SSHD [5306]:Input_Userauth_Request:Invalid ladmin [PREAUTH] 310]:ユーザー(LADMIN)3月29日02:12:56 CENTOS7 SSHD [5306]:PAM_UNIX(SSHD:AUTH):認証障害= 0 TTY = SSH RUSER = RHOST = RHOST = 192.168.1.6ユーザー= FAIRSファイナスファイナス= 58.12:58. 192.168.1.6ポート42674 SSH2からのIDユーザーLADMIN

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 グループ 2g-admin
2g-admin:x:1005:ユーザー1、ユーザー2、ユーザー3

これで完了です。ssh サービスを再起動するだけで、魔法のようなことが起こるはずです。

# systemctl sshdを再起動します
または# サービスを再起動します sshd

はい、user1 は2g-adminユーザー グループのメンバーであるため、システムにログインできません。彼は ssh が無効になっているグループに属しています。

# ssh ユーザー[email protected]
[email protected]のパスワード: 
権限が拒否されました。もう一度お試しください。

出力:

3月29日02:17:32 CENTOS7 SSHD [5400]:192.168.1.6からのユーザーユーザー1グループはDenyGroupsにリストされているため、3月29日02:17:32 CENTOS7 SSHD [5400]:input_userauth_request:invalid users user1 :ユーザーのパスワードチェックは、ユーザー(ユーザー1)3月29日02:17:38 CENTOS7 SSHD [5400]:PAM_UNIX(SSHD:AUTH):認証障害= 0 TTY = SSH RUSER = RHOST = RHOST = 192.168.1.6ユーザー=ユーザー29 02:17:41 192.168.1.6ポート42710 SSH2

2g-admin ユーザー グループを除くすべてのユーザーは、ssh を使用してシステムにログインできます。 たとえば、ladmin などのユーザーはシステムにログインできます。

# ssh [email protected]
[email protected]のパスワード: 
[ladmin@CentOS7 ~]$

出力:

3月29日 02:19:13 CentOS7 sshd[5432]: 192.168.1.6 ポート 42716 ssh2 からの ladmin のパスワードを受け入れました 3月29日 02:19:13 CentOS7 sshd[5432]: pam_unix(sshd:session): (uid=0) によってユーザー ladmin のセッションが開かれました: https://www.2daygeek.com/allow-deny-enable-disable-ssh-access-user-group-in-linux/

要約する

Linux で特定のユーザーまたはユーザー グループに対して SSH を有効または無効にする方法についての説明はこれで終わりです。Linux ユーザーまたはユーザー グループの SSH の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Linuxシステムはユーザーキーsshホストアクセスを使用する

<<:  MySQL データベースの 1045 エラーの解決方法

>>:  シンプルな計算機を実装するためのネイティブ js

推薦する

H5レイアウト実装手順における天井と底部の吸引を解決するための純粋なCSS

どのような製品について言及したいですか?最近、ユーザーがマーケティングの変化をよりよく観察できるよう...

Docker コンテナの uid と gid の詳細な理解

デフォルトでは、コンテナ内のプロセスは root ユーザー権限で実行され、この root ユーザーは...

jQuery における Ajax の関連知識ポイントのまとめ

序文JavaScriptを学ぶ学生は、 AJAX (非同期JavaScriptとxml) 変換は非同...

Linux gccコマンドの具体的な使い方

01. コマンドの概要gcc コマンドは、GNU がリリースした C/C++ ベースのコンパイラを使...

MySQLの累積集計原理と使用例の分析

この記事では、例を使用して、MySQL 累積集計の原理と使用方法を説明します。ご参考までに、詳細は以...

MySQLで更新可能なビューを作成する方法の詳細な説明

この記事では、例を使用して、MySQL で更新可能なビューを作成する方法について説明します。ご参考ま...

MySQL の一般的なログの概要

序文: MySQL システムには、さまざまな種類のログが存在します。さまざまなログにはそれぞれ独自の...

デザインリファレンス 美しく独創的なブログデザイン

以下にリストされているすべてのブログはオリジナルであり、独自にデザインされています。これらは、他者が...

vue3 の setUp とリアクティブ関数の使用方法の詳細な説明

1. いつsetUpを実行するかvue3 ではメソッドを正常に使用できるようになったことは誰もが知っ...

収集する価値のあるCSS命名規則(ルール) よく使われるCSS命名規則

CSS命名規則(ルール) よく使われるCSS命名規則ヘッダー: ヘッダーコンテンツ: コンテンツ/コ...

Dockerはnginxをデプロイし、フォルダとファイル操作をマウントします

この間、私は docker を勉強していたのですが、nginx をデプロイするときに行き詰まりました...

Vue.js と MJML でレスポンシブなメールを作成する

MJML は、開発者が美しく、応答性に優れ、あらゆるデバイスやメール クライアントで動作する魅力的な...

Dreamweaver8を使用してウェブサイトのファイルをチェックして整理する方法

Dreamweaver8 を使用して独自の Web サイトを作成する目的は何ですか?インターネットに...

Docker ケース分析: MySQL データベース サービスの構築

目次1 設定ディレクトリとデータディレクトリを作成する3 イメージからホストに構成ファイルをコピーす...