web-dev-qa-db-ja.com

サーバーが受け入れる許可されたクライアントSSH鍵タイプの指定

私は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にあります。何が欠けていますか?

4
MountainX

私はこの問題に遭遇しました... ssh-rsaの代わりにキータイプrsa-sha2-512を追加する必要がありました。 (私が必要としなかったrsa-sha2-256もあります)。

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

1
stan

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

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

/etc/crypto-policies/back-ends/opensshserver.configには、OpenSSHサーバーのポリシーによって現在適用されている設定が表示されます。

2
terafl0ps