web-dev-qa-db-ja.com

ssh-agentにSudoのような非アクティブ/アイドルタイムアウト機能がない技術的な理由はありますか?

[1]で既存のssh-agent -t機能について簡単な議論があり、2001年までさかのぼってdebian-devel [2]に非アクティブタイムアウト機能を希望する投稿がありました。ページェントについては、SE [3]でも同様の議論があります。

地球の残りの部分がsshキーをどのように保護しているのか疑問に思う必要があります-これが私にとってそのような問題点であることが明らかな何かを見逃しているのでしょうか?具体的には、ansibleなどのスクリプト化されたsshインタラクションについて考えています。今日、あなたの選択は次のようです:

  • エージェント内のキーの有効期間を、心配そうに長い期間に設定します。 1時間またはスクリプトの最大実行時間がたまたま発生する可能性があります(多くの人がSudo再認証タイムアウトをそれほど長く延長することを許可しているとは思えません!)-しかし、seahorse/gnome-keyring-daemonはこれをほとんどサポートしていません多く[4]
  • 実行時間の長いスクリプトをベビーシッターし、5/10/15分ごとにパスフレーズを再入力し続ける:これで、パスフレーズを1日20回入力するのを簡単に見ることができます。
  • おそらくシェルのTMOUT Shell varと組み合わせて、この不足している機能を模倣するために独自の自作ソリューションをハックしてください(freenode #openssh IRCその提案に感謝します)
  • キーの有効期間をまったく設定しないでください。つまり、エージェントはキーを永久に、または強制終了/再起動するまでロードしたままにします。

短いsshエージェントのタイムアウト、強力なパスフレーズ、および認証する役割のタイプごとに異なるキーファイルを使用している場合:これは非常に苛立たしい一日につながります!

Gpgkey2sshとsmartcardsを試しましたが、これではこの特定の問題は実際には解決されません。ssh-agent機能が必要であり、秘密鍵が公開されるのを防ぐためだけに5分ごとに再認証する必要はありません。コンピュータがアイドル状態のときにメモリ内にあります。

私はそれを間違っていますか?

[1] SSHエージェントのデフォルトタイムアウトの設定

[2] https://lists.debian.org/debian-devel/2001/09/msg00851.html

[3] https://serverfault.com/questions/518312/PuTTY-pageant-forget-keys-after-period-of-inactivity

[4] https://bugs.launchpad.net/ubuntu/+source/gnome-keyring/+bug/129231

9
csirac2

これが気になる場合は、画面がロックされているときにxscreensaver-command -watchインターフェイスを使用してssh-add -Dを簡単に実行できます。非常に簡単な例については、manページを確認してください。

2
Marco d'Itri