2006-11-19
SSHKeychainを使ってパスフレーズ入力なしでsshを使う(MacOS X)
svn+sshを使ってリモートのレポジトリを使うときに、いちいちパスフレーズを入力するのが面倒だったので、MacOS Xでssh-agentが使えないかどうか調べてみた。
> ssh-agent zsh
とかしてssh-agent経由でshellを実行すれば使えるけど、2つめのshellはどーすんだとか、コマンドライン以外から起動したssh client(あるかどうかは知らない)はどーすんだとか。
Xなら、ログインするときにopenssh-askpassを使ってパスフレーズの入力と環境変数のセットをすればいいけど、MacOS Xだとどうなるんだろう?
とさまよっていたら、よさげなものを発見。
どういうものかというと、keychainにパスフレーズを保存しつつ、グローバル環境変数をさわってssh-agent関係の環境変数をセットしてくれる。ログイン時に起動するようにしておけば、一回パスフレーズを入力するだけで、以後のsshは全部パスフレーズなしでOK。ステキ。
さて、気になる使い方。まずはSSHKeychainのdmgファイルをダウンロードして展開、中のSSHKeychainをアプリケーションフォルダにコピーする。
起動すると、Dockとmenu barに表示される。まずは環境設定を開く。
「SSHキー」タブを選択して「新規」ボタンを押すと、SSHキーの生成ができる。なれてる人は、コマンドラインからssh-keygenを実行してSSHキーを生成しておいてから、「+」ボタンで追加してもいいかも。
次はSSHKeychainにグローバル環境変数をセットさせる設定をする。「環境変数」タブを選択して、「グローバル環境変数を管理」をチェックする。
ここで一度ログアウトしてからログインしなおして、SSHKeychainをもう一度起動する。最後に、SSHKeychainのメニューから、「エージェント>すべてのキーを追加」でパスフレーズを入力する。
「パスフレーズをキーチェーンに登録」をチェックしておけば、次回からパスフレーズの入力すら不要。
あとはターミナルを開いてsshすれば、SSHキーを登録しておいたホストへパスフレーズ入力なしでログインできる。いえい。
ちなみに、パスフレーズをキーチェーンに登録しておくと、SSHKeychain起動時に自動的にパスフレーズを入力してくれる。つまり、ログイン時にSSHKeychainを起動するように設定しておけば、ログイン時のパスフレーズ入力すら不要。すげー、恐いくらいに便利だぜ。
- 150 http://www.google.co.jp/search?q=sshkeychain&lr=lang_ja&ie=utf-8&oe=utf-8&rls=org.mozilla:ja:official&client=firefox
- 149 http://reader.livedoor.com/reader/
- 148 http://www.google.com/search?client=safari&rls=ja-jp&q=SSHKeychain&ie=UTF-8&oe=UTF-8
- 78 http://b.hatena.ne.jp/
- 60 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:en-US:official&hs=CGx&q=mac+sshkeychain&btnG=Google+検索&lr=
- 58 http://d.hatena.ne.jp/
- 54 http://b.hatena.ne.jp/entrylist?sort=hot
- 53 http://b.hatena.ne.jp/entry/3308247
- 40 http://www.google.co.jp/ig?hl=ja
- 38 http://www.google.com/search?hl=ja&client=safari&rls=ja-jp&q=SSHKeyChain+"SSH+Agent"&btnG=Google+検索&lr=lang_ja