SSH秘密鍵を表示することに関するセキュリティ上の懸念

SSH秘密鍵を表示することに関するセキュリティ上の懸念

私は大きなミスを犯しました。少なくとも私はそう思っています。SSHの秘密鍵を「cat」してしまったのです。

cat ~/.ssh/id_rsa

私は今、セキュリティホールを作ってしまったのではないかと心配しています。他のユーザーが bash/スクロールバック履歴を見たり、他の方法を使用したりして、私の秘密鍵を見ることができるのです。そこで、私の質問は次のとおりです。

  1. SSH キーペアのセキュリティが本当に侵害されたのでしょうか?
  2. 新しいキーペアを作成するという明白な(そして最も安全な)方法を除いて、パッチを適用する「十分に安全な」方法はありますか?

(注: 私はこのマシンの唯一のユーザーなので、私の特定のケースでは実際にはそれほど心配していませんが、これは興味深い質問だと思いました。)

答え1

これをプライベートで行った場合は問題ありません。考えてみてください。ハードディスクにすでに保存されているのと同じデータを画面に表示しただけです。そして誰かができたスクロールバックや履歴にアクセスすると、ファイルを直接読み取ることも可能になりますid_rsa

  • さらに、シェルの履歴には、たとえ他のユーザーが読み取り可能であったとしても (読み取り不可)、コマンドのみが含まれ、その出力は含まれません。したがって、含まれるのは 1 行だけですcat ~/.ssh/id_rsa

  • ほとんどの端末では、スクロールバック履歴は完全にメモリに保存されます。(libvteベースの端末では、/tmp内のバックアップファイルを使用する場合もありますが、これはtmpfsまたは、とにかく ~/.ssh と同じディスクに配置されている...) そのため、ターミナルを閉じると無関係になります。そして、どちらの場合も、もちろんあなただけがアクセスできます。

  • また、多くの場合、秘密鍵自体はパスフレーズで暗号化されており、ssh要求されたときに復号化しない限り使用できません。

もちろん、高解像度のセキュリティ カメラの前でこれを行ったり、端末ウィンドウの写真を誰かに撮らせたりした場合は別ですが。その場合、誰かが写真からキーを再入力することができ、それを保護できるのは暗号化パスフレーズだけになります。

関連情報