質問 :ssh を使用してシステムへのユーザー/グループ アクセスを制限するにはどうすればよいですか?
SSH は、構成に特定のファイルを使用して、これらのさまざまな制限を実現します。インバウンド ssh セッション (ホストへの) は、sshd (ssh デーモン) によって処理されます。このプロセスには、独自の構成ファイル /etc/ssh/sshd_config があります。 .適用される /etc/ssh/sshd_config ファイルのパラメータは AllowGroups です 、AllowUsers 、DenyGroups 、および DenyUsers .これらのパラメータが設定されている場合、すべてのホストのすべてのユーザーに影響します。
グループを制限するには、オプション AllowGroups および DenyGroups 便利です。上記のオプションは、プライマリ グループまたは補足グループがグループ パターンの 1 つに一致するユーザーを許可または禁止します。
例
1. どこからでも SSH 接続で mary アカウントと jerry アカウントにアクセスできるようにし、他のアカウントにはアクセスできないようにするには::
# vi /etc/ssh/sshd_config AllowUsers mary jerry
2. s01.geeklab.com から john アカウントへの SSH 接続を許可しますが、他の着信 SSH 接続は許可しません:
AllowUsers [email protected]
3. 「finance」のすべてのユーザーに対して、どこからでも SSH 接続を拒否するには:
DenyGroups finance
失敗したログイン試行の表示
次のように入力して、いつでもログイン レコードを確認できます。
# cat /var/log/secure | grep 'sshd'
その出力は次のようになります:
May 3 13:57:24 centos7 sshd[2479]: pam_unix(sshd:session): session closed for user root May 3 13:57:28 centos7 sshd[3313]: Accepted password for root from 192.168.1.17 port 51093 ssh2 May 3 13:57:28 centos7 sshd[3313]: pam_unix(sshd:session): session opened for user root by (uid=0)
また、失敗した試行のリストを表示したい場合は、次の方法を試すことができます:
# cat /var/log/secure | grep 'sshd.*Failed'
受け入れられたログイン試行は、次の方法で表示できます:
# cat /var/log/secure | grep 'sshd.*Accepted'