私はsshd_configがed25519キーのみを受け入れるようにこのように構成されたサーバー(openssh 8.1p1-2を実行)を持っています。
PubkeyAcceptedKeyTypes [email protected],ssh-ed25519
それは私たちのチームにとって素晴らしいことです。私たちは皆、ed25519キーだけを使用しています。また、他の種類のキーが拒否されるため、ディレクティブは正しく機能しています。
ただし、今は、rsa鍵タイプのみを使用できる人(ポリシーでは制御できない)を一時的に接続できるようにする必要があります。
次の変更を加えました。
PubkeyAcceptedKeyTypes ssh-rsa,[email protected],[email protected],ssh-ed25519
...そして再起動されたsshd:
systemctl restart sshd
による systemctl status sshd
、sshdステータスにエラーはありません。ただし、このユーザーがサーバーログに接続しようとすると、次のように表示されます。
sshd[12345]: userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedKeyTypes [preauth]
クライアント側のエラーは単純です:
No more authentication methods to try. user@ip: Permission denied (publickey).
ssh-rsa
はPubkeyAcceptedKeyTypesにあります。何が欠けていますか?
私はこの問題に遭遇しました... ssh-rsaの代わりにキータイプrsa-sha2-512を追加する必要がありました。 (私が必要としなかったrsa-sha2-256もあります)。
ArchでOpenSSH_8.2p1を使用しています。
私は今朝、Oracle Linuxボックスでこれにあまりにも長い間苦労しました。
同じまたは他のRedHatベースのディストリビューションで実行している場合は、sshd_config
の設定がシステムのデフォルトの暗号化ポリシーの設定で上書きされていないことを確認してください。詳細については、update-crypto-policies
およびcrypto-policies
のマニュアルページを参照してください。
/etc/crypto-policies/back-ends/opensshserver.config
には、OpenSSHサーバーのポリシーによって現在適用されている設定が表示されます。