sshd:「ホストキーalgなし」が修正されましたが、まだ混乱しています。

sshd:「ホストキーalgなし」が修正されましたが、まだ混乱しています。

明らかに、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からこのようなことをしてきました。

おすすめ記事