2013-06-02 22 views
2

我目前正在使用Cywin,并且之前设置了一个工作。重新安装和重做我的设置后,它不再有效。Git SSH访问设置问题

我下面在这里

https://confluence.atlassian.com/display/BITBUCKET/Set+up+SSH+for+Git

说明我已经修改我的.bashrc用下面的代码

SSH_ENV="$HOME/.ssh/environment" 

# start the ssh-agent 
function start_agent { 
    echo "Initializing new SSH agent..." 
    # spawn ssh-agent 
    ssh-agent | sed 's/^echo/#echo/' > "$SSH_ENV" 
    echo succeeded 
    chmod 600 "$SSH_ENV" 
    . "$SSH_ENV" > /dev/null 
    ssh-add 
} 

# test for identities 
function test_identities { 
    # test whether standard identities have been added to the agent already 
    ssh-add -l | grep "The agent has no identities" > /dev/null 
    if [ $? -eq 0 ]; then 
     ssh-add 
     # $SSH_AUTH_SOCK broken so we start a new proper agent 
     if [ $? -eq 2 ];then 
      start_agent 
     fi 
    fi 
} 

# check for running ssh-agent with proper $SSH_AGENT_PID 
if [ -n "$SSH_AGENT_PID" ]; then 
    ps -ef | grep "$SSH_AGENT_PID" | grep ssh-agent > /dev/null 
    if [ $? -eq 0 ]; then 
    test_identities 
    fi 
# if $SSH_AGENT_PID is not properly set, we might be able to load one from 
# $SSH_ENV 
else 
    if [ -f "$SSH_ENV" ]; then 
    . "$SSH_ENV" > /dev/null 
    fi 
    ps -ef | grep "$SSH_AGENT_PID" | grep -v grep | grep ssh-agent > /dev/null 
    if [ $? -eq 0 ]; then 
     test_identities 
    else 
     start_agent 
    fi 
fi 

在〜/ .ssh/config中我的config文件中,如下

Host bitbucket.org 
IdentityFile ~/.ssh/id_rsa 

以前这个按预期工作。当我启动Cygwin时,系统会提示输入我的密码,然后在执行ssh-add -l时显示我的身份。

然而,现在它来了,说

初始化新的SSH代理...

成功

,它然后给我带来了我的提示。

当做和ssh-add -l它没有显示身份。

我想知道是否有可能导致此问题的bash代码中的一些错误。

+0

验证〜/ .ssh/id_rsa仍然存在。 – cforbish

+0

我有。我可以输入ssh-add〜/ .ssh/id_rsa,它可以正常工作。 – StevenDStanton

回答

2

由于您未指示系统提示您输入密码,因此ssh密钥有问题。如果我将〜/ .ssh/id_rsa移动到另一个文件,我会得到同样的结果。

您可能必须重新生成ssh密钥。

+0

如果我手动输入ssh-add〜/ .ssh/id_rsa,它会出现,并要求我为我的钥匙完美 – StevenDStanton

+0

我决定重试这个。我不确定什么巫毒工作。但是,即使手动方法在以前工作,重新设定密钥也会使其开始工作。 – StevenDStanton