デフォルトでは、SSH経由でログインできるユーザーは誰ですか?

デフォルトでは、SSH経由でログインできるユーザーは誰ですか?
  1. Debian 6 を設定するときに、ルートに加えて、どのユーザーが SSH 経由で自分のシステムにログインできるかを知りたいです。パスワードは知っていますか?

  2. Apache 2をインストールすると、www-dataというユーザーが作成されました。このユーザーにSSHを介して自分のシステムにログインする権限がありますか?しかし、www-dataに誰もがログインできるデフォルトのパスワードがある場合はそうではありません。

  3. SSHを介して自分のシステムにログインできるユーザーのリストはどこにありますか? SSH設定ファイルに何も見つかりません。

答え1

Paradeepchhetriは完全に正確ではありません。

Debian には変更されていない次の内容がありますsshd_config

PubkeyAuthentication yes
PermitEmptyPasswords no
UsePAM yes

したがって、SSHを介したログインは、パスワードフィールドが入力されているか/etc/shadowSSHキーを持つユーザーにのみ機能します~/.ssh/authorized_keys。 isとfor isPubkeyAuthenticationにはデフォルト値があるため、削除しても動作は同じです。yesPermitEmptyPasswordsno

問題の例では、www-dataDebianインストーラはパスワードですwww-data

pam_access、必要に応じてAllowUsersより細かい制御のためにinを使用できます。 Debian では、これを強くお勧めします。AllowGroupssshd_configUsePAM

答え2

デフォルトでは、Debian のすべてのユーザーはログインが許可されます。

ファイルを編集して、特定のユーザーがログインできるようにすることで/etc/ssh/sshd_config変更できます。

sshd_configのマニュアルページに記載されているとおりです。

AllowUsers


このキーワードの後に​​は、スペースで区切られたユーザー名パターンのリストが続きます。指定した場合、これらのパターンのいずれかに一致するユーザー名のみがログインを許可されます。ユーザー名のみが有効で、
数値のユーザーIDは認識されません。デフォルトでは、すべてのユーザーはログインが許可されます。パターンがUSER@HOSTthenの形式を取る場合は、個別にUSERチェックHOSTして特定のホストの特定のユーザーへのログインを制限します。許可/拒否ディレクティブはDenyUsers、、finallly順に処理されAllowUsersます 。DenyGroupAllowGroups

答え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

私が知っている限り、あなたの質問に答えてください:

  1. ルートとインストールウィザード中に作成したアカウントのみが新しいシステムにログインできます。
  2. いいえ。www-dataハッシュされたパスワードがあり、ファイルが*ないためです。~www-data/.ssh/authorized_keys
  3. 複数の要件があるため、単一のリストはありませんが、アイデアを得るには、次のように実行できます。grep -v '^[^:]*:[!*]:' /etc/shadow

関連情報