特定のユーザーだけがSSHを使用できるようにする方法は?

特定のユーザーだけがSSHを使用できるようにする方法は?

誰もがSSH接続を持っているシステムで AllowUsers $USER / etc / ssh / sshd_configを使用しても安全ですか?

誰もがSSHアクセス権を持つことを望んでいますが、システムアカウントにSSHアクセス権を持っていることは望ましくありません。また、ユーザーをプロフィールに永久に追加せずに設定したいと思います。使用できる変数はありますか?ユーザー名==ユーザーのホームページであると仮定すると、AllowUsersがls /home/ 機能する可能性があります。これを行うべきかどうかわかりません。

答え1

その逆にしてください。リスト内のユーザーがログインしないようにするには、sshd_configでDenyUsersを使用してください。

ログイン機能を拒否したいユーザーのリストは、通常、スーパーユーザーとシェルとして/ bin / nologinを使用しているすべてのユーザーです。また、/etc/passwd ファイルを確認し、パッケージの一部としてインストールされたユーザーを識別します。 CentOS 7では、これらのユーザーのuidは通常1000未満です。

これがCentOS 7にあるものです:

DenyUsers root bin デーモン adm lp 同期終了 メール オペレーター ゲーム 停止postfix sshd oprofile tcpdump lightdm pn nano-オープンコネクト

"denyusers.awk"というawkスクリプトを実行してこのリストを取得しました。

./denyusers.awk /etc/passwd

これが私の「denyusers.awk」スクリプトのソースです。


#!/bin/awk -f
BEGIN {
    FS=":";
    printf("%s","DenyUser root");
}

{
    username=$1;
    uid=$3
    shell=$7;
    if ((uid<1000) || ( shell == "/sbin/nologin" )) {
       printf(" %s", username);
    }
}

END {
    print "";
}

関連情報