ssh および sshd で特定の暗号と鍵交換アルゴリズムをブラックリストに登録する方法

ssh および sshd で特定の暗号と鍵交換アルゴリズムをブラックリストに登録する方法

サポートされているすべてのアルゴリズムのリストを取得するには、 を実行します。ssh -Q kex私のマシンでは、次のように出力されます。

diffie-hellman-group1-sha1
diffie-hellman-group14-sha1
diffie-hellman-group14-sha256
diffie-hellman-group16-sha512
diffie-hellman-group18-sha512
diffie-hellman-group-exchange-sha1
diffie-hellman-group-exchange-sha256
ecdh-sha2-nistp256
ecdh-sha2-nistp384
ecdh-sha2-nistp521
curve25519-sha256
[email protected]
[email protected]

また、特定のアルゴリズムをホワイトリストに登録したい場合など、sshd_config ファイルと ssh_config ファイルに行を追加できることもわかっています。KexAlgorithms [email protected],diffie-hellman-group-exchange-sha256

しかし、このリストを常に最新の状態に維持するつもりはありません。私の ssh バージョンがより良い暗号を含むように更新された場合、それらを自動的に利用できるようにしたいのです (これは、構成ファイルを変更しない場合に発生することです)。使用したくないアルゴリズム (たとえば、) を排除しようとするとdiffie-hellman-group1-sha1、現在サポートされている最良のアルゴリズムよりも優れたものを使用しないように自分自身で制限することになります。

「これらのアルゴリズムを考慮しない」と指定しながら、「これらの他のアルゴリズム以外は考慮しない」と指定しないように ssh と sshd を設定する方法はありますか?

私は openssh と Linux に特有の回答を受け入れますが、関連するソフトウェアの非常に新しいバージョンを使用していると想定できます。

答え1

のマニュアルページからssh_config:

KexAlgorithms は
、使用可能な KEX (キー交換) アルゴリズムを指定します。複数のアルゴリズムは、コンマで区切る必要があります。指定されたリストが '+' 文字で始まる場合、指定されたメソッドは、置き換えられるのではなく、デフォルト セットに追加されます。指定されたリストが '-' 文字で始まる場合、指定されたメソッド (ワイルドカードを含む) は、置き換えられるのではなく、デフォルト セットから削除されます。

クライアントのデフォルト リストからブラックリストに追加するすべての暗号に「-」オプションを使用します。

残念ながら、のマニュアル ページにはsshd_configサーバー側での同じオプションが記載されていないようですが、機能します。

関連情報