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

推薦する

CSSの優先度を理解する2つの方法

方法1: 値を追加する公式の説明を見るには MDN にアクセスしてください。優先度はどのように計算さ...

魔法のMySQLデッドロックトラブルシューティング記録

背景MySQL のデッドロックについて言えば、私は以前 MySQL のロックに関する基本的な紹介記事...

nginx 設定の場所の概要の場所の通常の書き込みと書き換えルールの書き込み

1. 場所の正規表現例を見てみましょう: 場所 = / { # 完全一致 / 、ホスト名の後に文字列...

MySQLユーザー権限管理の詳細な説明

目次序文: 1. ユーザー権利の概要2. 実際の権限管理序文:データベースのユーザー権限管理について...

Linux での mysql8.018 のインストールと設定のプロセスの詳細な説明

Windowsでのインストールの紹介:こちらもご覧ください –》WindowsでのMySQL 8.0...

HTML で vue-router を使用するサンプル コード

vue と vue-router の紹介 <script src="https://...

IntelliJ IDEA に Docker プラグインをインストールする詳細な手順 (2018 バージョン)

目次1. 開発環境2. dockerプラグインをインストールする1. アイデアのインストール2. イ...

Dockerでパラメータ変数を外部から指定する方法

この記事は主にDockerでパラメータ変数を外部から指定する方法を紹介します。この記事のサンプルコー...

VMware 仮想マシンの NAT モードを構成する方法

この記事では、VMware仮想マシンのNAT構成プロセスを詳しく説明します。具体的な内容は次のとおり...

MySQL データベースでよく使用される SQL ステートメントの詳細と概要

この記事では、MySQL データベースでよく使用される SQL ステートメントを例を使用して説明しま...

APPログインインターフェースシミュレーション要求を実装するためのPostmanデータ暗号化と復号化

目次主に使用されるPostmanの機能データの暗号化と復号化さまざまなパラメータ設定実際に送信された...

Baidu 入力メソッドが API を公開、自由に移植して使用できると主張

百度入力方式の担当者は、百度入力方式のオープンAPIの最大の利点は操作が便利であることであり、プラッ...

Ubuntu 20.04 ベスト設定ガイド (初心者向け)

1. システム構成1. sudoパスワードをオフにするsudo コマンドを使用するたびにパスワード...

MYSQL SERVER のログファイルを縮小する方法

トランザクション ログには、関連するデータベースに対する操作が記録され、データベースの回復に関連する...

Vue で円形プログレスバーを実装する例

データ表示は、常にあらゆる職業の人々が求めているものです。特にフロントエンド開発業界では、データを表...