概要: ssh のパスワードを keychain に記憶させる
ssh を使った作業を行うときに必ず必要になってくるのがパスワード入力なワケですが、 Subversion とか SVK で一々パスワードを入力するのは面倒なので、 パスワードを記憶させる方法を調べてみた。
で、ぶっちゃけた話これは keychain というツールを使えばできます。なので以下手順。
keychain のインストール
自分が使ってるのは Ubuntu なのでaptitude
を使って以下のようにインストール
sudo aptitude install keychain
ssh 公開鍵を生成
で、keychain を使うには ssh の秘密鍵と公開鍵のセットが必要なので、
ssh-keygen
を使って秘密鍵と公開鍵のセットを生成。
まあ細かい引数とかは各自調べてください。
ssh-keygen
で、自分の場合引数無しで実行してパスフレーズを入力。
~/.ssh/id_rsa
と~/.ssh/id_rsa.pub
が生成されました。
ssh 公開鍵を登録
次にさっき生成した ssh の公開鍵を ssh でログインするサーバに登録する。
自分の場合、登録先はさくらインターネットで、~/.ssh/authorized_keys
にさっき生成した公開鍵をコピペした。
keychain で秘密鍵を指定
で、後は keychain で秘密鍵を指定して、パスワードを聞かれたときに入力すれば、 自動的にパスワードが記憶されるというワケ。
keychain で秘密鍵を指定するにはこんな感じ。
keychain ~/.ssh/id_rsa
でコレをシェルを起動するたびに入力するのは面倒なので、
このコマントをシェルの起動時とかログイン時に読み込まれる設定ファイルに書いておく。
自分の環境では zsh を使ってるので、ログイン時に読み込まれる~/.zprofile
に記載。
で、あとはログイン時にパスワードを聞かれるので、そのときにパスワードを入力すれば、 ssh を使うときに勝手にパスワードを使用してくれるようになります。
以上終了。あと感想
なんか昔似たような作業をやった気がするんだけど、keychain まで辿りつくまでちょっと時間がかかった。 まあ keychain を見つけてからは作業は早かったけど。
で、使ってみた感想。
keychain 簡単すぎ 。感動した!というかちょろちょろっと作業するだけで使えるようになりました。
たぶん ssh でログインしてごにょごにょしてる人からしてみればちょっとした手間ですぐに使えるようになると思います。
まあ Windows で plink とか pagent 使うよりよっぽど簡単にできると思う。
これで ssh でログインし放題だぜ。ログインして作業することがないけど。
#FIXME