Debian 12 - 自分のキーでログインできませんが、パスワードでログインできますが無効になっています。

Debian 12 - 自分のキーでログインできませんが、パスワードでログインできますが無効になっています。

Debian 11 を Debian 12 に正常にアップグレードしました。

奇妙なことが起こっています。

いくつかの設定を無視するconfがあります

  • ルートログインを無効にしました

  • ポート1122に移動しました。

  • 認証にパスワードを無効にする

  • キーを使用した認証の有効化

    root@localhost:/etc/ssh/ssh_config.d# cat /etc/ssh/sshd_config.d/realtebo.conf
    # Override from realtebo
    Port 1122
    PermitRootLogin no
    PasswordAuthentication no
    PubkeyAuthentication yes
    

今私

  • ポート1122を使用する必要があります。
  • ルートを使用してログインできない
  • パスワードでログインできます
  • pubkeyを使用してログインできない

これら2つの奇妙な行動の原因は何ですか?

デフォルトの設定ファイルに私の設定ファイルが含まれていることを確認しました。

とにかく[避けたい]デフォルト設定ファイルを直接変更すると、サーバーはパスワードを使用したログインを許可しなくなりますが、まだ公開鍵を拒否します。それでもそこにあり、authorized_keysすべてのDebian 11で使用されるrsa pubキーがあります。

Debian 12でOpenSSHの変更点は何ですか?

ベストアンサー1

  • パスワードでログインできます

基本/etc/ssh/sshd_configファイルには次のコメントがあります。

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the KbdInteractiveAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via KbdInteractiveAuthentication may bypass
# the setting of "PermitRootLogin prohibit-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and KbdInteractiveAuthentication to 'no'.
UsePAM yes

構成で無効にしないと、KbdInteractiveAuthenticationPAMは元の試行/応答タイプ認証モジュールで使用されていたわずかに異なるコードパスを介してパスワード認証と同等の操作を実行できます。ただし、技術的には「パスワードを表示する」プロンプトは難しいかもしれません。 「有効なパスワードを入力してください」で効果的に対応してください。

デフォルト設定にはコメントアウトされていないものを含める必要がありますKbdInteractiveAuthentication noが、試してみてください。

diff -u /usr/share/openssh/sshd_config /etc/ssh/sshd_config

現在のデフォルトsshdプロファイルが実際にデフォルトプロファイルと一致していることを再確認してください。

また、パスワード認証が無効になっている場合、デフォルトの動作はsshdパスワードプロンプトを表示し続けることです。この場合、プロンプトは完全に偽であり、唯一の目的は侵入者がパスワードを推測しようとする無駄な試みをするようにすることです。したがって、パスワードプロンプトが表示されても、必ずしもパスワード認証が実際に可能であるというわけではありません。

これが役に立たないと思われる場合は、AuthenticationMethods publickeyアカウントに追加してパスワードプロンプト(偽物でも本物でも)を表示することさえrealtebo.confブロックできます。sshd


  • pubkeyを使用してログインできない

新しいバージョンには、新しいデフォルトのPubkeyAcceptedAlgorithms設定があります。長いがもっと注目すべき点はいいえ以下が含まれます(から引用man sshd_config):

公開鍵承認アルゴリズム

[...]

このオプションのデフォルト値は次のとおりです。

           [email protected],
           [email protected],
           [email protected],
           [email protected],
           [email protected],
           [email protected],
           [email protected],
           [email protected],
           ssh-ed25519,
           ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
           [email protected],
           [email protected],
           rsa-sha2-512,rsa-sha2-256

特に古い大気機械、ssh-rsaそしてssh-dssもはやデフォルトでは存在しません。必要に応じて追加を続けることができ、あなたの場合は追加することが役に立ちます。ただし、その場合は、ssh-rsa公開鍵アルゴリズムをサポートするバージョンでSSHクライアントを更新する必要があります。rsa-sha2-*既存のキーは大丈夫です。ただし、キーが使用するアルゴリズムをアップグレードするだけです。


したがって、2つの設定を追加してみることができます/etc/ssh/sshd_config.d/realtebo.conf

KbdInteractiveAuthentication no
PubkeyAcceptedAlgorithms +ssh-rsa

その後も公開鍵認証が機能しない場合は、記録されたjournalctl -u ssh.serviceメッセージビューを使用してsshd公開鍵が拒否された理由を正確に確認してください。

(はい、実行中のサービスの名前はsshd実際にはRHEL / Fedoraとssh.serviceそのデリバティブの名前ではなく、Debiansshd.serviceとそのデリバティブの名前です。歴史的な理由です。愚かなことですが、それは人生です。)

sshdを実行すると、効果的な設定が表示されますsshd -T。構成に条件が含まれている場合は、これらの条件に必要な情報を提供するスタイルオプションをMatch追加して、条件の一致が各場合に有効な構成にどのように影響するかを確認できます。詳細は-C keyword=value参照してください。man sshd

おすすめ記事