ssh接続でpassphraseを毎回入力するのは嫌だ

WindowsCygwin環境からsshコマンドを叩いたときの話。

 

前書き

SSHサーバをこしらえて、セキュリティの観点から認証方法を公開鍵認証(RSA)にしたのだけど、SSHサーバに接続する都度『id_rsaのpassphraseを入力してね』と聞かれて面倒くさい。

Macなら一度passphraseを入力してしまえば、基本的に聞かれることはないのにどうしたものかと調べてみたら、Cygwinでも使える便利なものがありました。

 

便利ツール

その名も「keychain」というツール。(Macのそれとは違うみたい)

これはLinux/Gentooディストリビューションの親戚Funtooのプロジェクトで開発されているツールのようでCygwinにも入れることができました。keychainを使うことでターミナルがpassphraseの情報を記憶してくれるようになるっぽいです。

 

導入方法
  1. gitにkeychainのソースがあるのでgit cloneするかzipをダウンロードする

    https://github.com/funtoo/keychain

  2. 展開した(Makefileがある)ディレクトリに移動してmakeする
    $ cd keychain
    $ make
  3. 「keychain」という実行可能形式のファイルができるので、/usr/binにコピーする
    $ cp keychain /usr/bin/
  4. Cygwin起動時に自動実行するように ~/.bashrc に以下を追記する
    if [ -e /usr/bin/keychain ]; then
        eval `/usr/bin/keychain --eval --agents ssh id_rsa`
    fi
    
  5. 端末を開き直すか、source ~/.bashrc で起動スクリプトを読み込む

 

参考Webページ