SSH設定 - オプション - 一部を削除して他の部分を追加しますか?

SSH設定 - オプション - 一部を削除して他の部分を追加しますか?

SSH設定ファイルは上から下に解析され、最初の有効な一致のためにリストされたオプションを使用し、そのオプションがすでに表示されている場合は、後続の有効な一致のオプションを無視することがわかります。私はいくつかの異なるフォーマットバリアントを試しましたが、努力によって構文/フォーマットが気に入らない、または同じホストで2回表示されるオプションを無視するようです。

私はこのバージョンを使用しています:

ssh -V
OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2

任意の例の場合、KexAlgorithms オプションは明示的なリストまたは基本セットからの追加と削除をサポートします。

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

https://man7.org/linux/man-pages/man5/ssh_config.5.html

デフォルト設定を次に変更するには:

  • 削除済み: diffie-hellman-group-exchange-sha256 および curve25519-sha256
  • 追加: diffie-hellman-group-exchange-sha1, diffie-hellman-group1-sha1

構文を知っている人はいますか?それとも、すべてのオプションの完全に明示的なリストを直接作成せずに追加および削除できる場合はありますか?

KexAlgorithms 次の行で + および - リスト修飾子を試してみましたが、ガベージとして報告されました。これを別のリスト(下記参照)に分割すると正常に実行されますが、親KexAlgorithmsオプションのみが実行され、両方が実行されるわけではありません。

Host myHost
  HostName myHost.myDomain.com
  KexAlgorithms -"diffie-hellman-group-exchange-sha256,curve25519-sha256"
  KexAlgorithms +"diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1"

いくつかの安全なオプションを削除し、安全でないオプションを追加することを知っているので、別に言う必要はありません。 :-)

ありがとうございます!

修正する:必要に応じて出力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]

ベストアンサー1

リンクしたマンページから:

各パラメータで最初に取得した値を使用するため、ファイルの先頭にはより多くのホスト固有の宣言を提供し、最後に一般的なデフォルト値を提供する必要があります。

つまりKexAlgorithms、2つがある場合、最初の項目のみが考慮されます。

使用されるアルゴリズムのうち、KexAlgorithmsアルゴリズムを設定、削除、追加できますが、組み合わせることはできません。

したがって、独自のパーソナライズされたリストを持つことができますが、それを明示的に設定する必要があります。

動作していることを確認するには、ssh -vv Myhost長い操作の代わりに次のようにします。

 ssh -G myHost | grep -i kex

おすすめ記事