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でログインし放題だぜ。ログインして作業することがないけど。