我使用OpenSSH安裝了msysgit。我正在連接到一個gitosis回購。從混帳bash中,我創建了一個.profile
文件運行的ssh-agent(如果尚未運行),每次git的慶典被打開,using this script獲取ssh-agent使用從Windows命令shell運行的git
SSH_ENV=$HOME/.ssh/environment
function start_agent {
echo "Initialising new SSH agent..."
/usr/bin/ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV}
echo succeeded
chmod 600 ${SSH_ENV}
. ${SSH_ENV} > /dev/null
/usr/bin/ssh-add;
}
# Source SSH settings, if applicable
if [ -f "${SSH_ENV}" ]; then
. ${SSH_ENV} > /dev/null
#ps ${SSH_AGENT_PID} doesn't work under cywgin
ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
start_agent;
}
else
start_agent;
fi
我也使用Git擴展,從運行的git命令Windows命令提示符,而不是git bash。所以,ssh沒有看到正在運行的ssh-agent。有沒有可能解決這個問題?
這每次打開一個git bash的時候產生一個新的'SSH-agent'頂級流程。 – 2013-09-27 11:06:27
啊,你看,不是真的,至少當我檢查它,如果我沒有記錯,它檢查是否有一個已經運行,否則它會產生過程。現在他們固定它,所以沒有理由再使用這個 – Cu7l4ss 2013-10-13 08:27:11
@ Cu7l4ss如果他們修復它,那麼爲什麼我有這個問題? - 我可以啓動ssh-agent並添加密鑰,但是這會立即消失,'ssh-add -l'返回「代理沒有身份」。我甚至得到這個目標的唯一方法就是你列出的命令。 - 只是fyi,目前還是個問題。 – Zeveso 2013-11-03 21:03:33