GNU/Linux >> Linux の 問題 >  >> Linux

Linuxで特定のユーザーまたはグループへのSSHアクセスを許可または拒否する方法

この簡単なガイドでは、LinuxおよびUnixオペレーティングシステムで特定のユーザーまたはグループへのSSHアクセスを許可または拒否する手順について説明します。

はじめに

少し前に、制限付きシェルを使用してユーザーのLinuxシステムへのアクセスを制限する方法について説明しました。 。ユーザーを制限付きモードにすると、許可されている以外のことはできなくなります。

特定のユーザーが特定のコマンドセットのみを実行できるようにする場合に役立ちます。

この記事では、SSHのデフォルト構成ファイルにいくつかの変更を加えることで、ユーザーまたはグループのSSHアクセスを有効または無効にします。

Linuxの特定のユーザーまたはグループへのSSHアクセスを許可または拒否します

openSSHのデフォルト構成ファイルには、特定のユーザーまたはグループへのSSHアクセスを許可および拒否するための2つのディレクティブがあります。

まず、ユーザーとグループへのSSHアクセスを許可または有効にする方法を見てみましょう。以下に示すすべてのコマンドは、 rootとして実行する必要があることに注意してください。 またはsudo ユーザー。

1。ユーザーまたはグループへのSSHアクセスを許可する

特定のユーザーにSSHアクセスを許可するには、たとえば sk sshd_configを編集します ファイル:

$ sudo vi /etc/ssh/sshd_config

"i"を押します 挿入モードに入り、次の行を追加または変更するには:

AllowUsers sk

ssh構成ファイルを編集して、特定のユーザーにsshアクセスを許可します

「sk」をユーザー名に置き換えます。 スペースのインデントに注意してください 「AllowUsers」と「sk」の間。 タブを使用する必要があります スペースバーの代わりに 。意味-「AllowUsers」という単語を追加し、Tabキーを押してから、ユーザー名を指定します。

以下に示すように、複数のユーザーを指定することもできます。

AllowUsers user1 user2

グループ全体を許可するには、たとえば root 、次の行を追加/編集します:

AllowGroups root

この設定により、"root"のすべてのメンバーが許可されます LinuxサーバーにSSH接続するグループ。

ESCを押します キーを押して挿入モードを終了し、 :wqと入力します SSH構成ファイルを保存して終了します。 SSHサービスを再起動して、変更を有効にします。

$ sudo systemctl restart sshd

ここで、ユーザーは sk および"root"のすべてのメンバー グループはLinuxサーバーにSSHで接続できます。他のユーザー(skと"root"のメンバーを除く) group)はssh経由でシステムにアクセスすることを許可されていません。

確認するには、許可されていないユーザーのいずれかとしてLinuxサーバーにSSH接続してみてください。

$ ssh [email protected]

次のエラーメッセージが表示されます:

[email protected]'s password: 
Permission denied, please try again.

SSHアクセス許可が拒否されました

2。ユーザーまたはグループへのSSHアクセスを拒否する

ユーザーまたはグループへのSSHアクセスを無効または拒否するには、リモートサーバーの sshd_configで次のディレクティブを追加/変更する必要があります。 ファイル。

  1. DenyUsers
  2. DenyGroups

「sk」と呼ばれる特定のユーザーへのSSHアクセスを拒否するには、sshd_configを編集します ファイル:

$ sudo vi /etc/ssh/sshd_config

sshd_configファイルに次の行を追加/編集します。

DenyUsers sk

スペースのインデントが正しいことを確認してください。スペースバーは使用しないでください。 Tabキーを押して、ユーザー名を追加します。

同様に、複数のユーザーへのSSHアクセスを拒否するには、以下に示すようにスペースを区切ってユーザー名を指定します。

DenyUsers user1 user2

同様に、グループ全体へのSSHアクセスを拒否するには、たとえば root 、追加:

DenyGroups root

ssh設定ファイルを保存して終了します。 sshサービスを再起動して、変更を有効にします。

$ sudo systemctl restart sshd

次に、ブロックされたユーザーアカウントからLinuxマシンにSSHで接続してみます(例:sk:

)。
$ ssh [email protected]

次のメッセージが表示されます:

[email protected]'s password: 
Permission denied, please try again.
[email protected]'s password:

3。 SSHルートログインを無効にする

ルートsshアクセスは、セキュリティの観点から悪い習慣と見なされています 。したがって、システムを保護するためにSSHルートユーザーログインを無効にすることを強くお勧めします。

root sshログインを無効にするには、sshd_configを編集します ファイル:

$ sudo vi /etc/ssh/sshd_config

次の行を見つけてコメントを外し、値を noに設定します

PermitRootLogin no

SSHサービスを再起動して、変更をすぐに有効にします:

$ sudo systemctl restart sshd

結論

Linuxで特定のユーザーまたはグループにSSHアクセスを許可および制限する方法をマスターしました。 LinuxでSSHルートログインを拒否または無効にする方法も学びました。これは、LinuxサーバーをセットアップするときにすべてのLinux管理者が実装する必要がある推奨されるセキュリティプラクティスの1つです。

関連記事:

  • 特定のユーザーまたはグループのSSHパスワード認証を無効にする
  • ユーザー/グループ/システムごとのSSHログイン数を制限する
  • Linuxで特定のディレクトリにSSHで接続する方法

Linux
  1. Linuxでグループにユーザーを追加またはグループから削除する方法

  2. Linuxでユーザーをグループに追加する方法

  3. Linuxでユーザーグループを作成および削除する方法

  1. Linuxサーバー上の特定のユーザーアカウントへのリモートログインを許可または拒否する方法

  2. Linux – LinuxでIptablesを使用して、LAN上の特定のユーザーのインターネットアクセスを制限する方法は?

  3. Sshアクセスで新しいユーザーを作成する方法は?

  1. Linuxのグループにユーザーを追加する方法(例を含む)

  2. Linux VPSでsudoグループにユーザーを追加するにはどうすればよいですか?

  3. SSH ユーザーが SSH トンネリングのみを許可するように制限するには?