Debian 6 を設定するときに、ルートに加えて、どのユーザーが SSH 経由で自分のシステムにログインできるかを知りたいです。パスワードは知っていますか?
Apache 2をインストールすると、www-dataというユーザーが作成されました。このユーザーにSSHを介して自分のシステムにログインする権限がありますか?しかし、www-dataに誰もがログインできるデフォルトのパスワードがある場合はそうではありません。
SSHを介して自分のシステムにログインできるユーザーのリストはどこにありますか? SSH設定ファイルに何も見つかりません。
答え1
Paradeepchhetriは完全に正確ではありません。
Debian には変更されていない次の内容がありますsshd_config
。
PubkeyAuthentication yes
PermitEmptyPasswords no
UsePAM yes
したがって、SSHを介したログインは、パスワードフィールドが入力されているか/etc/shadow
SSHキーを持つユーザーにのみ機能します~/.ssh/authorized_keys
。 isとfor isPubkeyAuthentication
にはデフォルト値があるため、削除しても動作は同じです。yes
PermitEmptyPasswords
no
問題の例では、www-data
Debianインストーラはパスワードですwww-data
。
pam_access
、必要に応じてAllowUsers
より細かい制御のためにinを使用できます。 Debian では、これを強くお勧めします。AllowGroups
sshd_config
UsePAM
答え2
デフォルトでは、Debian のすべてのユーザーはログインが許可されます。
ファイルを編集して、特定のユーザーがログインできるようにすることで/etc/ssh/sshd_config
変更できます。
sshd_configのマニュアルページに記載されているとおりです。
AllowUsers
このキーワードの後には、スペースで区切られたユーザー名パターンのリストが続きます。指定した場合、これらのパターンのいずれかに一致するユーザー名のみがログインを許可されます。ユーザー名のみが有効で、
数値のユーザーIDは認識されません。デフォルトでは、すべてのユーザーはログインが許可されます。パターンがUSER@HOST
thenの形式を取る場合は、個別にUSER
チェックHOST
して特定のホストの特定のユーザーへのログインを制限します。許可/拒否ディレクティブはDenyUsers
、、finallly順に処理されAllowUsers
ます 。DenyGroup
AllowGroups
答え3
デフォルトでSSH server
はインストールされていません。openssh-server
誰でもSSH経由でログインする前に、このパッケージをインストールする必要があります。
その後、すべてのユーザーは2つの確認に合格する必要があります。
- SSH認証
- PAMアカウントの確認
SSH認証は、ユーザーがターゲットユーザーの.shファイルに正しいパスワード/etc/shadow
または正しい権限を持つ有効なSSH公開鍵を持っている必要があることを意味します~/.ssh/authorized_keys
。
有効なパスワードはマニュアルページで詳しく説明されていますが、デフォルトcrypt(3)
では、ユーザーの2番目のフィールドがor/etc/shadow
で始まる場合は$NUMBER$
おそらく有効で、*
or!
の場合は無効です。
PAM アカウントの確認は、デフォルトでアカウントの有効期限が切れていないことを意味します。で確認できますchage -l USERNAME
。
私が知っている限り、あなたの質問に答えてください:
- ルートとインストールウィザード中に作成したアカウントのみが新しいシステムにログインできます。
- いいえ。
www-data
ハッシュされたパスワードがあり、ファイルが*
ないためです。~www-data/.ssh/authorized_keys
- 複数の要件があるため、単一のリストはありませんが、アイデアを得るには、次のように実行できます。
grep -v '^[^:]*:[!*]:' /etc/shadow