
私は大きなミスを犯しました。少なくとも私はそう思っています。SSHの秘密鍵を「cat」してしまったのです。
cat ~/.ssh/id_rsa
私は今、セキュリティホールを作ってしまったのではないかと心配しています。他のユーザーが bash/スクロールバック履歴を見たり、他の方法を使用したりして、私の秘密鍵を見ることができるのです。そこで、私の質問は次のとおりです。
- SSH キーペアのセキュリティが本当に侵害されたのでしょうか?
- 新しいキーペアを作成するという明白な(そして最も安全な)方法を除いて、パッチを適用する「十分に安全な」方法はありますか?
(注: 私はこのマシンの唯一のユーザーなので、私の特定のケースでは実際にはそれほど心配していませんが、これは興味深い質問だと思いました。)
答え1
これをプライベートで行った場合は問題ありません。考えてみてください。ハードディスクにすでに保存されているのと同じデータを画面に表示しただけです。そして誰かができたスクロールバックや履歴にアクセスすると、ファイルを直接読み取ることも可能になりますid_rsa
。
さらに、シェルの履歴には、たとえ他のユーザーが読み取り可能であったとしても (読み取り不可)、コマンドのみが含まれ、その出力は含まれません。したがって、含まれるのは 1 行だけです
cat ~/.ssh/id_rsa
。ほとんどの端末では、スクロールバック履歴は完全にメモリに保存されます。(libvteベースの端末では、/tmp内のバックアップファイルを使用する場合もありますが、これはtmpfsまたは、とにかく ~/.ssh と同じディスクに配置されている...) そのため、ターミナルを閉じると無関係になります。そして、どちらの場合も、もちろんあなただけがアクセスできます。
また、多くの場合、秘密鍵自体はパスフレーズで暗号化されており、
ssh
要求されたときに復号化しない限り使用できません。
もちろん、高解像度のセキュリティ カメラの前でこれを行ったり、端末ウィンドウの写真を誰かに撮らせたりした場合は別ですが。その場合、誰かが写真からキーを再入力することができ、それを保護できるのは暗号化パスフレーズだけになります。