2011年6月22日水曜日

[cygwin] cygwin上でssh-agentを使いたい

「cygwin上でssh-agentを使いたい」と考えていたのですが、ようやく実現しました。

ググってwin-ssh-askpassなるものが存在することを知り、
セットアップしたところ、すんなり動きました。
参考にしたのは以下のサイトの情報です。

起動batファイルはそのままだとエラーになったため微妙に修正しています。
set CygPath=C:\cygwin\bin
set SshAgent=%CygPath%\ssh-agent

set BinPath=C:\Documents and Settings\XXX\My Documents\bin
set WinSshAgent="%BinPath%\win-ssh-agent.exe"

rem set WinSshOpt=--hide-console --no-ssh-agent --no-DISPLAY --no-default-identity
set WinSshOpt=--hide-console --no-ssh-agent --no-DISPLAY

start /b /d %HOME% %SshAgent% %WinSshAgent% %WinSshOpt%

修正版win-ssh-agent.bat

一点だけ、微妙にはまった問題が。
.ssh 以下のファイルのアクセス権が全公開になっていると、エラーになります。
linux上と同じようにちゃんと非公開にしてないとダメみたいです。


P.S. 全然別の話になりますがcygwinのemacsがふつうに使えてびっくりです。
Meadowだとcygwinのパスが理解できなかったりshell-modeの動作がいまいちだったのですが、その不満が解消されました!