私のSSHサーバーシステムには、user_Aとuser_Bという2人のユーザーがいます。 user_Bはリモートからログインする必要があるため、セキュリティ上の理由から秘密鍵を使用してログインすることができます。すべて動作します。私の質問:user_Aはローカルネットワークにログインするだけですので、ユーザー名/パスワードを使用してリモートでログインするのを防ぐことはできますか? sshdのマニュアルページによると、CIDR表記が許可されています。
私がしたこと:
#605433が提案されたので調整しました。AllowUsers [email protected]
AllowUsers [email protected]/24
#740700オファー:
Match 192.168.0.10/24
AllowGroups PrivateSubnetSshUsers
私のバージョンは次のとおりです
Match 192.168.10.0/24
AllowUsers user_A
驚いたことに、どちらの場合も、user_Aはまだ192.168.1.220でログインできます。やり直す前にいくつかのことを行いましたsystemctl restart sshd
。
私はここで何を見落としていますか?
ベストアンサー1
まず、あなたの声明には単なるエラーではなくエラーが必要Match
です。そのバージョンでは、sshdを再起動しようとするとエラーメッセージが表示されます。受け取れませんでしたか?Match address 192.168.10.0/24
Match 192.168.10.0/24
Match
次に、アドレスではなくユーザー名を使用する必要があります。次は動作します。
Match user user_A
AllowUsers [email protected]/24
ところで。私のテストでは単独(つまりブロックではありません)も機能しますが(したがってテストするときに何か間違っていることは間違いありません)、制限されています。AllowUsers [email protected]/24
Match
他のすべてのユーザーuser_A以外のログイン別の言葉(そして、user_Aは指定されたネットワークでのみログインできます。)上記のブロック内では、Match
user_Aは指定されたネットワークでのみログインでき、他のすべてのユーザーはすべてのIPアドレスからログインできます。