このガイドでは、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を有効にする方法
これがお役に立てば幸いです。