2008/11/06

UN*X版だとssh-agentの実行結果が SSH_AUTH_SOCK=/tmp/ssh-suhGif2116/agent.2116; export SSH_AUTH_SOCK;
SSH_AGENT_PID=5672; export SSH_AGENT_PID;
echo Agent pid 5672;
みたいになっててログイン時に eval `ssh-agent`
とするんですがWindowsだと、そう簡単には行かない。 @echo off
if not "%SSH_AGENT_PID%" == "" goto end
for /f "eol=; tokens=1,2 delims==;" %%1 in ('ssh-agent.exe') do (
 if "%%1" == "SSH_AUTH_SOCK" set SSH_AUTH_SOCK=%%2
 if "%%1" == "SSH_AGENT_PID" set SSH_AGENT_PID=%%2
)
ssh-add
:end
開発を始める前にコマンドプロンプトで1回これを動かすとパスフレーズを聞かれ、1回入力すれば以降は聞かれない様になる(sshはmsysGitに含まれる物を使ってる)。 さらにWindowsサポートツールに入ってる"setx.exe"を使えば、ユーザ環境変数への反映も出来る為、新しく起動したコマンドプロンプトでsshコマンドがSSH_AGENT_PID/SSH_AUTH_SOCKを見てくれるようになってもっとウマーとなるはず(↑のバッチでsetしている所でさらにsetxもする必要があるかな)。

とりあえずこれで楽になった。ウマー
Posted at 19:40 | WriteBacks () | Edit
Edit this entry...

wikieditish message: Ready to edit this entry.






















A quick preview will be rendered here when you click "Preview" button.