パスワードを忘れた? アカウント作成
279104 journal

dodaの日記: Agent 転送の使用通知

日記 by doda

SSH の公開鍵認証時に秘密鍵のパスフレーズの入力を省略する方法として、SSH Agent の利用がある。
SSH Agent は秘密鍵を管理していて、最初に秘密鍵を読み込ませる時にパスフレーズを入力する必要があるが、それ以降は SSH クライアントが Agent に署名等を依頼する事によってパスフレーズなしで認証が行えるようになる。
Tera Term でも、PuTTY に付属の Pageant を利用することが出来る。

さらに Agent 転送という機能があり、これを有効にすると、ローカルの Agent へのアクセスを接続先に提供することが出来る。
この機能は便利なのだが、接続先ホストが信頼できない場合は注意が必要だ。
接続先ホストでは Unix domain ソケットを通して Agent にアクセスする。
この Unix domain ソケットは、自分以外には読み書きできないような Permission に設定されるため自分以外の一般ユーザはアクセスできないが、スー パーユーザは自由にアクセスできる。
Agent にアクセス出来たからといって秘密鍵を盗めるわけではないが、Agent を利用して他のホストへログインする事は可能だ。
このような理由から、信頼できないホストへの接続時には Agent 転送を利用しないのが望ましい。

ただふと思ったのだが、転送した Agent が使われた時に、許可するか確認のダイアログを出したり、使われた事をポップアップで通知できると、信頼で きないホストへの接続時も比較的安全に Agent 転送が使えそうだ。
ごった煮版の Pageant では使用時に確認のダイアログを表示させる事が出来るが、Tera Term (ttssh2) 側で実装するのが重要。
Tera Term 側で実装した場合、転送した Agent が使われた時のみ確認する事が出来るし、また信頼できるホストへの接続時は確認を行わないという事も 出来る。
必要ない時にまで確認を行うと、本当に確認が必要な状況が埋もれてしまうので、本当に必要な時にのみ確認を行うようにするのはセキュリティ的にも正しい。

という事で、落ち着いたら実装出来ないか検討してみよう。
# チケットに登録しておけば、だれか実装してくれないかな。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

計算機科学者とは、壊れていないものを修理する人々のことである

読み込み中...