
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
構成で無効にしないと、KbdInteractiveAuthentication
PAMは元の試行/応答タイプ認証モジュールで使用されていたわずかに異なるコードパスを介してパスワード認証と同等の操作を実行できます。ただし、技術的には「パスワードを表示する」プロンプトは難しいかもしれません。 「有効なパスワードを入力してください」で効果的に対応してください。
デフォルト設定にはコメントアウトされていないものを含める必要があります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