【问题标题】:Permissions denied from cmd but not from git bash with multiple ssh keys来自 cmd 但不是来自具有多个 ssh 密钥的 git bash 的权限被拒绝
【发布时间】:2014-06-02 19:51:50
【问题描述】:

我的 Windows 7 上有两个 ssh 密钥供两个 bitbucket 用户使用。 ~/.ssh/id_rsa~/.ssh/bit_rsa

以及tutorial 中描述的配置文件。我还更新了.bashrc 以加载 ssh-agent。

1) 来自 git bash

的 ssh -v -t git@bitbucket.org

http://pastebin.com/pAk9rkvH

2) 来自 cmd

的 ssh -v -t git@bitbucket.org

http://pastebin.com/vbUcNwcW

还有ssh-add -l cmd:无法打开与您的身份验证代理的连接。

git bash: $ ssh-添加 -l 2048 43:7c:d6:4b:0d:26:5f:1c:d1:d2:61:17:0c:7d:0b:56 /c/Users/username/.ssh/id_rs 一个(RSA)

什么问题?为什么我无法从 cmd 登录 ssh?

【问题讨论】:

    标签: git bash ssh


    【解决方案1】:

    ssh-agent 必须正在运行,ssh 使用 $SSH_AUTH_SOCK 环境变量获取连接 ssh-agent 所需的连接信息。当您在 (git-)bash 中的 .bashrc 中启动 ssh-agent 时,ssh-agent 已启动并设置了 env var(注意:值是动态的,不是固定的):

    /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
    echo succeeded
    chmod 600 "${SSH_ENV}"
    . "${SSH_ENV}" > /dev/null
    

    你的cmd shell 使用.bashrc 所以ssh-agent 没有运行(除非你正在运行(git-)bash 和cmd 并行运行。如果你正在运行它们并行或ssh-agent 正在运行,然后$SSH_AUTH_SOCK 未在您的cmd shell 中设置。

    【讨论】:

    • 嗯。我运行 git bash 并检查 ssh-agent 是否正在运行。之后我运行 cmd 并检查连接。权限仍然被拒绝
    • 看来cmd不看config文件,简单使用id_rsa键
    【解决方案2】:

    我认为我的问题仅与服务器窗口有关。

    我修好了:

    1) 删除 c:\Program Files (x86)\Git 中的 .ssh 文件夹 2)通过git bash将您的IP地址添加到known_hosts(例如ssh -t git@bitbucket.org) 3) 使用正确的known_hosts 文件将 .ssh 文件夹从 c:\users\username.ssh 复制到 c:\Program Files (x86)\Git。

    【讨论】:

      猜你喜欢
      • 2023-03-24
      • 2016-10-15
      • 1970-01-01
      • 2012-10-19
      • 2015-05-13
      • 1970-01-01
      • 2020-07-02
      • 1970-01-01
      • 2011-11-25
      相关资源
      最近更新 更多