
明らかに、Fedora 35はHostKeyAlgorithmsまたはPubkeyAcceptedKeyTypesにssh-rsaをリストしていないため、以前のCentOS 6システムでsshを試みるとエラーが発生します。
$ ssh as1s16.intra.corp.us
no hostkey alg
そのため、/etc/ssh/sshd_configにインクルード後にオプションを追加しました。
Include /etc/ssh/sshd_config.d/*.conf
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa
しかし、同じエラーが発生しました。次に、sshdを次のように実行します。
# /usr/sbin/sshd -ddd
...
debug3: /etc/ssh/sshd_config:20 setting HostKeyAlgorithms +ssh-rsa
debug3: /etc/ssh/sshd_config:21 setting PubkeyAcceptedKeyTypes +ssh-rsa
...
debug1: SELinux support disabled [preauth]
...
debug3: append_hostkey_type: ssh-rsa key not permitted by HostkeyAlgorithms [preauth]
debug1: list_hostkey_types: rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519 [preauth]
しかし、同じエラーが発生しました。その後、次のようにsshdを実行するオプションを削除しました。
# /usr/sbin/sshd -ddd -oHostKeyAlgorithms=ssh-rsa
効果がありました。 CentOS 6クライアントから正常にSSHにアクセスできます。
次に、インクルードの前にオプションを置きます。
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa
# To modify the system-wide sshd configuration, create a *.conf file under
# /etc/ssh/sshd_config.d/ which will be automatically included below
Include /etc/ssh/sshd_config.d/*.conf
効果がありました。
なぜこれらのディレクティブをインクルードする前に入れるべきですか?デフォルト値を無視してはいけませんか?
答え1
表現はあまり明確ではありませんが、config.d/*
ディレクトリは「システム全体」ではなく、特定のクライアント/ユーザーまたは着信インターフェイス/ポートに対して別々の構成ファイルを許可することが疑われます。これは、apache / httpdおよびnginx(およびおそらくそれ以上)でディレクトリを使用するのと似ており、sites/*
各仮想ホストまたはアプリケーションを個別に構成できますが、まだ単一のサーバーでサポートされています。そのファイルを見る一致する行(次に他の実際の行=一致しない、コメント、スペースを含める必要があります)が含まれていることを確認してください。これは、フル接続ではなく一部の接続にのみ適用されることを意味します。
含むテキストです。ファイルがある場合
blich
Include file*
blech
blich と blech は含まれません。マッチ行にはありますが、少なくとも一部のファイルはこれを行い、ブレックはファイル接続の最後のMatchブロックの一部になります。したがって、Bleckの設定は、対応する一致条件を満たす着信接続にのみ適用されます。これはテスト接続で明らかに行われます。いいえ。
SSHD設定を「グローバル」に設定するには、一致する行の前に設定を入れる必要があり、埋め込みファイルに一致する行が含まれている場合は、埋め込みの前にグローバル設定を置く必要があります。
構成ファイルのすべての設定(使用済み)は、プログラムのデフォルト設定よりも優先されます。構成ファイルに同じ設定を複数回配置するには(Matchブロックの前/外部)、次のようにします。最初1つが最後ではないため、以前の「デフォルト」(ファイルにある場合はまったくデフォルトではありません)をオーバーライドするというアイデアは機能しません。後続の一致ブロックの条件が満たされた場合にのみ、最初の一致ブロックを上書きします。
PS:Fedoraは最先端ですOpenSSHは最近最終的にこれを変更しました。警告(脅迫?)以来、彼らは1年半前8.2からこのようなことをしてきました。
答え2
私は以下を使用しました:
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
/etc/ssh/sshd_configでsshdを再起動してください。