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

推薦する

Tomcat の 404 エラーの解決方法の詳細な説明

Tomcat テストで 404 問題が発生します。問題は次のとおりです。 HTTP ステータス 40...

特定の MySQL テーブルの完全データと増分データをメッセージ キューに同期する - ソリューション

目次1. 当初の需要2. 解決策3. 運河の導入と設置運河の仕組み建築インストール4. 検証1. 当...

CentOS で Mysql を再起動するさまざまな方法 (推奨)

1. rpm パッケージ経由でインストールされた MySQL サービスmysqldを再起動 /et...

伝説的な VUE 構文シュガーは何をするのでしょうか?

目次1. 糖衣構文とは何ですか? 2. VUE の構文糖とは何ですか? 1. 最も一般的な構文シュガ...

HTML H タイトルタグの使用

H タグ、特に h1 タグの使用は常に議論の的となっている問題であり、私たちが研究する価値のある問題...

Docker Alpine イメージのタイムゾーン問題に対する完璧な解決策

最近、Docker を使用して Java アプリケーションをデプロイしていたときに、タイムゾーンが間...

JavaScriptはシンプルな日付効果を実装します

JavaScriptの日付エフェクトの具体的なコードは参考用です。具体的な内容は次のとおりです。コー...

ツールベースのウェブサイトの考察: ツールベースのウェブサイトの定義と典型的なケース分析 (写真とテキスト)

ツール型ウェブサイトについて、まず疑問に思うのは、無数のオンラインウェブサイトの中で、どのようなウェ...

Dockerを使用してPythonランタイム環境の基本イメージを作成する方法

1. 準備1.1 Pythonインストールパッケージをダウンロードします(注:Pythonバージョン...

Win10 での MySQL 8.0.20 のインストールと設定のチュートリアル

Win10 システムでの MySQL 8.0.20 のインストールと設定の超詳細なチュートリアルMy...

CSS で 2 列レイアウトを実現する N 通りの方法

1. 2 列レイアウトとは何ですか? 2 列レイアウトには、左側が固定幅で右側が適応幅のレイアウトと...

VMWare を使用して Windows 上で Linux 環境を構築する手順 (画像とテキスト)

Mac を返却して以来、元のラップトップは使用されていません。このラップトップの構成は非常に良好で...

vue keepAlive キャッシュクリア問題事例の詳細な説明

Keepalive は Vue プロジェクトでのキャッシュによく使用され、基本的な要件を満たすのに非...

vue3 における vuex と pinia の落とし穴

目次導入インストールと使用方法文章の相違点と類似点の簡単な比較VuexとPiniaの長所と短所Pin...

Vue3+el-tableは行と列の変換を実現します

目次行と列の変換トランスクリプトの構成を分析するvue3 + el-table で作成されたトランス...