Skip to main content

ログ取得ツール (移転先予定地)

USB Key

pam_usb(sig11.org)というのがあった。USBストレージデバイスにpublic/privateキーを置いておき、認証に利用するというもの。DSAを使ってるらしい。認証には3種類設定できて、Unique(パスワードなしでログインでき、デバイスがないとログインできない)、Alternative(デバイスがあればパスワードを聞かない)、Additional(デバイスがあるときのみログインでき、パスワードも聞く)というのがあるらしい。PAMになってるからxscreensaverや/bin/login、gdm、sudo、その他なんでも設定すればOKだ。

Alternativeが楽っぽい。ちょっと使ってみたい。かなり昔に買った16MBのUSBストレージ、どこいったかなぁ。GnuPGとかssh-addのパスフレーズ入力とかはPAMじゃないから、使えないだろうけど。

(追記) 2003-12-19 13:21

遊んでみている。2.6.0で今の環境だとUSBデバイスのprobeがうまくいかないが、デバイス名を固定してprobeしないようにするとうまくいく。調子に乗ってsystem-authのところに設定したら、外からのsshまでパスワードなしになってしまった。

それはさすがにあんまりなので、loginとgdmとxscreensaver、sudo程度にしておこうと思う。あとrootのprivate/public keyも作らない方針にしよう。だから、suはパスワードになる。普段から「sudo bash」とかってやっててrootのパスワードは忘れがちなので、別に困らないと思う。

required pam_stack.so service=system-authの前の行にsufficient pam_usb.soを入れる。キーがないとパスワードが必要、キーがあればユーザ名だけで、パスワードプロンプトは出ない。

ついにパスワードとはオサラバだ。快適な生活が待ってるぜ!

pam_usb.soの仕組みとしてはUSBストレージの「/.auth/ユーザ名.ホスト名」というファイルに秘密鍵がDSA PUBLIC KEY(ASCII形式)で入っていて、「$HOME/.auth/id_pub」に公開鍵が入っていて、これを突っ突き合わせて認証している。

ちなみにpam_usb.soにはシリアル番号というオプションもあって、これを使うと秘密鍵を保管したUSBストレージが盗まれても、マシン側のシリアル番号と合わないので少しはマシになる。これもいずれ設定しようと思う。

(追記) 2003-12-19 15:14

xscreensaverはLinux 2.6.0を入れた時点でなぜかパスワードですら通らなかった状態になってしまっていたのだが、xscreensaverを入れなおしたらパスワードだと通るようになった。早速pam_usb.soにしてみようとしたのだが、どうもxscreensaverはrootではなく一般ユーザで動いているからか、USBストレージのmountがOperation not permittedになってしまう。どうにか回避できないものか。fstabにuserとマウントポイントを書いてpam_usb.soにもそこを強制的に使ってもらうように設定してもダメだった。mountコマンドを呼び出すわけじゃないみたいね。

(追記) 2003-12-19 17:08

Webページにはxscreensaverにも使えるようなことが書いてあるから、何らかの設定が間違っているだけのような気がする。もうちょっと考えてみよう。

(追記) 2003-12-19 21:19

キーにはCLIEを使うことにした。CLIEはメモリースティックの内容をPC側にMass Storageとして見せることができるから、充分役目は果たせる。また、常に持ち歩いていてキーとしてはうってつけだと思う。ただ、キーとしてはちょっとでかいけどね。ちょうど充電と兼用のケーブルをいつも持ち歩いてるのでそれもちょうどいい。