Translated message

A translation of this page exists in English.

Warning message

This translation is outdated. For the most up-to-date information, please refer to the English version.

RHEL8 で SSH クライアントの Ciphers、MAC、KexAlgoritms を変更する方法

Solution Verified - Updated -

Environment

  • Red Hat Enterprise Linux 8

Issue

  • RHEL8 クライアントから他の Linux または Windows システムに接続する際に、MAC および KexAlgorithms に関して報告された問題を修正するにはどうすればよいですか?

  • RHEL8 から Windows システムに接続する際に、以下のようなエラーが発生します。

    # ssh username@node.example.com
    Unable to negotiate with x.x.x.x port 22: no matching MAC found. Their offer: hmac-sha1,hmac-sha1-96,hmac-md5,hmac-md5-96
  • MAC の問題を修正すると、DH グループの問題が表示されます。

    # ssh username@node.example.com
    Received disconnect from x.x.x.x port 22:2: Protocol error: no matching DH grp found
    Disconnected from x.x.x.x port 22
    Connection closed

Resolution

  • RHEL8 クライアントで MAC 'hmac-sha1' および 'diffie-hellman-group-exchange-sha1' の設定を変更します。

    # vi /etc/ssh/ssh_config

    MACs hmac-sha1,hmac-sha2-256-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,umac-128@openssh.com,hmac-sha2-512

    KexAlgorithms diffie-hellman-group-exchange-sha1,curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha1
  • この設定は、RHEL8 システムが別の SSHD サーバーに接続する SSH クライアントとして機能している場合にのみ適用します。

  • サーバーサイド (SSHD) の設定については、How to modify Ciphers, MACs, KexAlgoritms in SSHD for RHEL 8 を参照してください。

Root Cause

  • Windows Server は、より強力な MAC と鍵交換アルゴリズムをサポートしているため、RHEL8 クライアントと Windows SSH/SFTP サーバー間のネゴシエーションが失敗します。

Diagnostic Steps

  • システム全体の暗号化ポリシーに従ってデフォルトでサポートされている、クライアントサイドの MAC と KexAlgorithms を確認します。

    # update-crypto-policies --show
    DEFAULT

    # cat /etc/crypto-policies/back-ends/openssh.config
    Ciphers aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes256-cbc,aes128-gcm@openssh.com,aes128-ctr,aes128-cbc

    MACs hmac-sha2-256-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,hmac-sha1,umac-128@openssh.com,hmac-sha2-512

    GSSAPIKexAlgorithms gss-curve25519-sha256-,gss-nistp256-sha256-,gss-group14-sha256-,gss-group16-sha512-,gss-gex-sha1-,gss-group14-sha1-

    KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1
  • サーバーに必要な MAC と KexAlgorithms が含まれているかどうかを確認し、含まれている場合は MAC と KexAlgorithms の設定を確認します。

  • RHEL8 で SSH クライアントのカスタムパラメーターを設定するには、/etc/ssh/ssh_config ファイルでパラメーターを定義するか、/etc/ssh/ssh_config.d/ ディレクトリーに *.conf ファイルを作成します。

  • SSH クライアントの詳細ログをチェックして、どの MAC と KexAlgorithms がネゴシエートされているかを確認します。

    # ssh -vvv username@server-ip

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments