回答:
Paradeepchhetriは正確ではありません。
Debianの変更されsshd_configていないものは次のとおりです。
PubkeyAuthentication yes
PermitEmptyPasswords no
UsePAM yes
したがって、sshを介したログインは、に入力されたパスワードフィールド/etc/shadowまたはにsshキーがあるユーザーに対してのみ機能します~/.ssh/authorized_keys。デフォルト値があること(注)PubkeyAuthenticationであるyesとするためにPermitEmptyPasswords、IS no、あなたがそれらを削除しても動作は同じになります。
質問の例でwww-dataは、Debianのインストーラーがのパスワードを割り当てたり、キーを作成したりしないため、デフォルトではログインが許可されませんwww-data。
pam_access、AllowUsersおよびAllowGroupsin sshd_configは、必要に応じてより詳細な制御に使用できます。Debianでは、を強くお勧めしUsePAMます。
デフォルトでは、ログインはDebianのすべてのユーザーに許可されています。
/etc/ssh/sshd_configファイルを編集することでログインできる特定のユーザーを許可することで、これを変更できます。
sshd_configのmanページで述べたように。
AllowUsersこのキーワードの後には、
スペースで区切られたユーザー名パターンのリストを続けることができます。指定すると、パターンの1つに一致するユーザー名に対してのみログインが許可されます。ユーザー名のみが有効です。数値のユーザーIDは
認識されません。デフォルトでは、ログインはすべてのユーザーに許可されています。パターンが形を取る場合USER@HOST、その後USERとHOST個別にチェックされ、特定のホストから特定のユーザーへのログインを制限します。/許可ディレクティブは、次の順序で処理されて拒否:DenyUsers、AllowUsers、DenyGroup、、最後にAllowGroups。
デフォルトでSSH serverは、インストールされていません。openssh-server誰かがSSHで接続する前に、パッケージをインストールする必要があります。
その後、すべてのユーザーが2つのチェックに合格する必要があります。
SSH認証とは、ユーザーが有効なパスワード/etc/shadowを持っているか、ターゲットユーザーの適切な権限を持つ有効なSSH公開キーを持っていることを意味します~/.ssh/authorized_keys。
有効なパスワードについてはcrypt(3)manページで詳しく説明していますが、基本的にユーザーの2番目のフィールドがで/etc/shadow始まる$NUMBER$ものである場合、おそらく有効であり、*または!である場合は無効です。
PAMアカウントチェックは、基本的に、アカウントの有効期限が切れていないことを意味します。を使用して確認できchage -l USERNAMEます。
だからあなたの質問に答えるために、私の知識に:
www-dataハッシュ化されたパスワード*があり、~www-data/.ssh/authorized_keysファイルがないためgrep -v '^[^:]*:[!*]:' /etc/shadow
sshd_configファイルの内容に依存します」です。たとえば、一部のOSには、SSHを介したrootログインが許可されていません。