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

特定のユーザーまたはグループのSSHパスワード認証を無効にする

このガイドでは、LinuxおよびUnixオペレーティングシステムで特定のユーザーまたはグループのSSHパスワード認証を無効にする方法について説明します。

ユーザーまたはグループへのSSHアクセスを完全に無効にするわけではないことに注意してください。代わりに、SSHパスワード認証のみを無効にします。

ユーザーは、SSHキーベースの認証など、他の認証方法を使用してSSH経由でシステムにアクセスできます。

特定のユーザーまたはグループのSSHパスワード認証を無効にする

"/ etc / ssh / sshd_config" を使用して、ユーザーやグループ全体のSSHアクセスを許可または拒否できます。 Linuxのファイル。 sshd_configファイルには、 "Match"という名前のパラメーターがあります。 これは、ユーザーまたはグループのSSHパスワード認証を無効にするのに役立ちます。

まず、特定のユーザーのパスワード認証を無効にする方法を見てみましょう。

rootまたはsudoユーザーとしてお気に入りのエディターを使用して「/etc/ ssh / sshd_config」ファイルを編集します:

$ sudo nano /etc/ssh/sshd_config

まず、次の行をコメントアウトして、デフォルトの認証方法を削除します。

#PasswordAuthentication yes

次に、最後に次の行を追加します。

[...]
Match User senthil
    PasswordAuthentication no

特定のユーザーのSSHパスワード認証を無効にする

一致は「別の一致行またはファイルの終わりまで」有効であることに注意してください。満たされる複数のMatchブロックにキーワードが表示される場合、キーワードの最初のインスタンスのみが適用されます。

上記の例のように、「senthil」というユーザーのSSHパスワード認証を無効にしました。 「senthil」を自分のユーザー名に置き換えます。ファイルを保存して閉じます。 sshサービスを再起動して、変更を有効にします。

$ sudo systemctl restart ssh

次に、SSH経由でユーザー「senthil」としてログインしてみます:

$ ssh [email protected]

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

[email protected]: Permission denied (publickey).

Linuxで特定のユーザーのSSHパスワード認証を無効にする

グループのSSHパスワード認証を無効にする

特定のグループのSSHパスワード認証を無効にするには、sshd_configファイルでユーザー名をグループ名に置き換えるだけです。

Match Group mygroup
    PasswordAuthentication no

上記の構成の「mygroup」を独自のグループ名に置き換えます。

変更を適用するには、sshサービスを再起動することを忘れないでください。

複数のユーザーのSSHパスワード認証を無効にする

以下のようにカンマ区切りでユーザー名を指定することにより、複数のユーザーのSSHパスワード認証を拒否できます。

Match User senthil,kumar
    PasswordAuthentication no

上記の設定例では、ユーザー「senthil」と「kumar」のSSHパスワード認証が防止されます。

rootユーザーを除くすべてのユーザーのSSHパスワード認証を無効にする

一部のLinuxシステムでは、「root」ユーザーに対してのみSSHパスワード認証を許可し、他のすべてのユーザーに対しては無効にすることができます。その場合は、最後にsshd_configファイルに次の行を追加します。

Match User !root
    PasswordAuthentication no

ホストまたはIPアドレスによるSSHパスワード認証を制限する

ユーザーやグループだけでなく、ホストやIPアドレスによるSSHパスワード認証も拒否できます。

たとえば、次の例では、IPアドレスを含むホストからのSSHアクセスを防止します。

Match Address 192.168.225.37
       PasswordAuthentication no

特定の範囲のIPアドレスのSSHパスワード認証を制限するには、次を追加します。

Match Address 192.168.225.*
      PasswordAuthentication no

そして、この例では、ホスト名を含むホストからのパスワードを使用したSSHアクセスを拒否します。

Match Address hostname
       PasswordAuthentication no

詳細については、manページを参照してください。

$ man sshd_config

結論

このガイドでは、Linuxで特定のユーザーまたはグループのSSHパスワード認証を無効にする方法について説明しました。さらに、複数のユーザーのSSHパスワードアクセスを無効にする方法、rootユーザーを除くすべてのユーザーにSSHパスワードアクセスを制限する方法についても説明しました。最後に、ホストまたはIPアドレスによってSSHパスワード認証を制限する方法を学びました。

その他のSSH関連ガイド:

  • LinuxでSSHキーベースの認証を構成する方法
  • Linuxで特定のユーザーまたはグループへのSSHアクセスを許可または拒否する
  • ユーザー/グループ/システムごとのSSHログイン数を制限する
  • TCPラッパーを使用してLinuxサーバーへのアクセスを制限する
  • SSH経由でリモートLinuxシステムでコマンドを実行
  • LinuxでSSHエイリアスを作成する方法
  • Linuxで特定のディレクトリにSSHで接続する方法
  • SSLH –HTTPSとSSHで同じポートを共有する
  • ScanSSH –高速SSHサーバーとオープンプロキシスキャナー
  • Rsyncを使用してSSH経由で部分的に転送されたファイルを再開する方法
  • 複数のリモートシステムで単一のコマンドを一度に実行する方法
  • DSH –一度に複数のホストでLinuxコマンドを実行する
  • LinuxでSSHセッションが切断されないようにする方法
  • FreeBSDでSSHを有効にする方法

これがお役に立てば幸いです。


Linux
  1. Linuxでユーザーパスワードを変更、削除、または無効にする方法

  2. セキュリティ上の理由でユーザーシェルを無効にしますか?

  3. puppet での Linux のユーザー パスワードの管理

  1. CentOS で root ユーザーの単純なパスワードを有効にする

  2. ssh は、公開鍵のみの認証用に構成されているにもかかわらず、パスワード認証を引き続き受け入れます (これは機能します!)

  3. 一部のユーザーのパスワードを使用した SSH ログインを無効にする方法は?

  1. SSH経由でrootユーザーのログインを無効にする方法

  2. Ssh – Ssh / scp / sftpユーザーをディレクトリに制限しますか?

  3. 複数のウィンドウのパスワードを入力する方法は?