2016年8月8日月曜日

Git Bashでssh-agentを動かす

私は、
minttyでのショートカット
http://www.sakashita-net.jp/2015/10/mintty.html
で書いたように、WindowsでUnixのシェル環境を使うために、以下を参考にGit for Windowsをインストールして使っています。 
msysgit で日本語を使いたい
http://qiita.com/kumazo@github/items/2169e1ee7be278f82b94
ターミナルエミュレータであるminttyでsshを使うときに、ssh-agentの設定をすれば、パスフレーズを何度も入力しなくても済むようになります。

このときの設定は、
SSH小技集: SSH Agent
http://techblog.clara.jp/2014/07/ssh-agent/
を参考にして、.bashrc/.bash_profileに以下のように記述しています。
SSH_ENV=$HOME/.ssh/environment

function start_agent {
  ssh-agent > $SSH_ENV
  chmod 600 $SSH_ENV
  . $SSH_ENV > /dev/null
  # ssh-add
}

if [ -f $SSH_ENV ]; then
  . $SSH_ENV > /dev/null
  if ps ${SSH_AGENT_PID:-999999} | grep ssh-agent$ > /dev/null &&
     test -S $SSH_AUTH_SOCK; then
    # agent already running
    :
  else
    start_agent;
  fi
else
  start_agent
fi