我安装了带有 OpenSSH 的 msysgit。我正在连接到一个 gitosis 仓库。在 git bash 中,我创建了一个 .profile
文件,每次打开 git bash 时都会运行 ssh-agent(如果尚未运行),using this script
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 扩展,它从 Windows 命令提示符运行 git 命令,而不是 git bash。因此,ssh 看不到正在运行的 ssh-agent。有可能解决这个问题吗?
最佳答案
我遇到了和你一样的问题,然后我尝试添加这段代码
#! /bin/bash
eval `ssh-agent -s`
ssh-add ~/.ssh/*_rsa
进入我的主目录中的文件 .bashrc
。并且有效!
关于git - 让 ssh-agent 与从 Windows 命令 shell 运行的 git 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3669001/