PDA自作日記 | ||||||
ホーム | 開発日記 | 自作PDAまとめ | NetWalker | プロフィール | ||||||
|
■ サスペンド時のパスワード(2011/12/08) サスペンド時に、sshのパスフレーズをクリアしたいことがあります。 サスペンドから復帰(レジューム)したときにパスワードを入力させるのは、システム → 設定 → GNOMEスクリーンセーバー → 「スクリーンセーバーを起動したら画面をロックする」でできます。しかし、sshのパスフレーズはクリアされません。 サスペンド時にパスフレーズをクリアには、以下の内容を /etc/pm/sleep.d/action_sshagent というファイルに保存し、実行権を与えます。筆者は、もともとあったaction_wpaをコピーして作りました。 #!/bin/sh PATH=/sbin:/usr/sbin:/bin:/usr/bin # pm-action(8) - <action> <suspend method> # # On suspend|hibernate, clear ssh passphrase. case "${1}" in suspend|hibernate) ls /tmp/keyring-*/socket.ssh |xargs -I@ env SSH_AUTH_SOCK=@ ssh-add -D ;; resume|thaw) ;; esac サスペンド/レジュームはrootの権限でおこなわれ、ユーザーが使用しているsshの環境変数にはアクセスできません。そこで、/tmpに生成されるソケットを環境変数に設定してから、パスフレーズを削除するためのコマンドssh-addを呼び出しています。 この方法だとすべてのユーザーのパスフレーズが削除されますが、サスペンドはシステム全体に対してかかるので、問題にはならないと考えました。 これにより、サスペンド後にsshを使用すると、パスフレーズを入力する画面が表示されます。
|
|||||
Copyright © π 2009-2012 Powered by light work group このページの内容は無保証です |