私の経験によると、ユーザーは公開鍵と秘密鍵でインフラストラクチャを無駄にします。 opensshは公開鍵を特定のディレクトリに制限することを可能にしますが(これによって大量の鍵が生成されるのを防ぎます)、秘密鍵に対して同様のメカニズムを提供しません(デフォルトを定義することはできますが、強制的に適用できますありません)。
理想的には、パスワードやパスフレーズ(Sshエージェントの初期パスフレーズを除く)を入力せずにホストにアクセスできることを願っています。
私の$ WORKユーザーがMS-Windowsでputtyを使ってssh旅行を始めましたが、私は彼らが利用可能な秘密鍵をsshサーバーとして機能するシステムにコピーするのを防ぐことにのみ興味があります。
これらのターゲットホストは他の場所でSSH接続を確立できる必要があるため、発信SSH接続を単にブロックすることはできません。
完全な特権アクセスソリューションを実装せずにユーザーが鍵ペアを使用して認証できますが、秘密鍵のコピーを防止する方法はありますか(または独自の鍵を生成し、秘密鍵/公開鍵の配布)?
ベストアンサー1
あなたはできません。システムからファイルを読むことができる人は誰でもファイルをコピーできます。これはファイルシステムが機能する方法です。ファイルを読み取るファイルコピープログラムは、ファイルを読み取る他のプログラムと変わりません。
ただし、ユーザーにプロキシを渡すだけで、他のサーバーにログインする目標を達成できると説明し、接続が確立されたときにこれを行う方法についての指示を提供すると、これより簡単で簡単であることに気付くでしょう。キーをコピーします。これが私たちの仕事で行われることです。ユーザーにシェルホストへのアクセスを設定するための指示(OpenSSH用)を提供し、プロキシを転送するための指示を設定するように指示します(他のシステムにアクセスするために必要です)。それから彼らはそれをします。 SSH秘密鍵をシェルホストにコピーする必要はありません。
説明で述べたように、ユーザーがハードウェアセキュリティキーでサポートされているSSHキーを使用している場合、問題は効果的に解決されます。秘密鍵のコピーを防ぐことはできませんが、リモートシステムにハードウェアセキュリティキーを接続しないと、秘密鍵が機能しないため、この動作は抑制されます。ただし、この機能が機能するには比較的新しいバージョンのOpenSSHが必要であり、WindowsバージョンのOpenSSHがこの機能をサポートしているかどうかはわかりません。しかし、他には、このようなことが発生するのを防ぐ方法はありません。