サーバーで許可されるクライアント SSH 鍵のタイプを指定します。

サーバーで許可されるクライアント SSH 鍵のタイプを指定します。

ed25519キーのみを許可する次のsshd_configを持つサーバー(openssh 8.1p1-2を実行)があります。

PubkeyAcceptedKeyTypes [email protected],ssh-ed25519

これは私たちのチームにとって非常に効果的です。私たちはみんなed25519キーだけを使います。他のキータイプが拒否されるため、ディレクティブは正しく機能します。

ただし、(制御できないポリシーに応じて)rsaキータイプのみを使用できる人が一時的に接続できるようにする必要があります。

次のように変更しました。

PubkeyAcceptedKeyTypes ssh-rsa,[email protected],[email protected],ssh-ed25519

...そしてsshdを再起動してください。

systemctl restart sshd

sshdの状態によると、systemctl status 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-rsaPubkeyAcceptedKeyTypesにあるため、問題を理解できません。私は何を見逃していますか?

答え1

この問題が発生しました...ssh-rsaの代わりにキータイプrsa-sha2-512を追加する必要があります。 (不要なrsa-sha2-256もあります。)

私はArchでOpenSSH_8.2p1を使用しています。

答え2

私は今朝、Oracle Linuxボックスでこの問題であまりにも長い間苦労しました。

同じまたは異なるRedHatベースのディストリビューションで実行している場合は、sshd_config設定がシステムのデフォルトの暗号化ポリシー設定で上書きされていることを確認してください。update-crypto-policies詳細については、マニュアルページを参照してくださいcrypto-policies

/etc/crypto-policies/back-ends/opensshserver.config現在適用されているOpenSSHサーバーポリシー設定を表示する必要があります。

関連情報