によるとsshd_config を実行するサポートされている暗号のリストを指定できます。たとえば、次のようになります。
Ciphers arcfour, 3des-cbc
問題は、1つのホストで実行されているクライアントアプリケーションが、ネットワークの残りの部分と同じ暗号をサポートしていないことです。
したがって、単一のホスト例外を除いて、すべての場合に使用する暗号を指定する方法はあるでしょうか?
答え1
ディレクティブにリストされている暗号はCiphers
最初に一致したものを優先するため、不正クライアントの暗号はリストの最後に配置します。ネットワーク内の他のクライアントは、可能であればリストの上位にある暗号を最初にネゴシエートし、不正クライアントは弱い暗号に落ち着くはずです。
残念ながら、明示的に設定した場合、他のクライアントは弱い暗号を引き続き使用できます。残念ながら、ブロックCiphers
内にディレクティブを配置することはできませんMatch
。私が考えられる他のオプションは、異常なクライアント用に別のポートで別のサーバーを実行し、そのホストへの sshd の 2 番目のインスタンスへのアクセスを制限することです。
答え2
私の見るところ、唯一の選択肢は ForceCommand を使用してスクリプトを作成することです。
Match を使うのはそれほど難しくないはずです:
ForceCommand
Forces the execution of the command specified by ForceCommand, ignoring any command supplied by the client and ~/.ssh/rc if present. The command is invoked by using the user's login shell with the -c option. This applies to shell, command, or subsystem execution. It is most useful inside a Match block.
上記は man ページからの抜粋です。さらに詳しい情報は、こちらで見つかりました:SSHD ゲートキーパー スクリプト
- 編集 -
私ができる最善の策は、別のポートで別の SSHD インスタンスを実行し、リダイレクト例の 1 つに -s を追加してアプリケーションの IP のみをキャッチし、適切な暗号で構成された他のインスタンスにリダイレクトすることです。http://www.cyberciti.biz/faq/linux-port-redirection-with-iptables/