【问题标题】:SmartGit won't authenticate with sshSmartGit 不会使用 ssh 进行身份验证
【发布时间】:2012-02-06 00:15:54
【问题描述】:

我有一个安装了 gitolite 的网络服务器,我使用我的 ssh 密钥登录。通常我只是使用命令行在服务器本身上使用 git,但对于一个新项目,我需要在我的 windows pc 上克隆一个 repo,我想为此使用 SmartGit。

但我已经花费了几个小时通过 Smartgit 克隆存储库。作为远程 Git,我使用通常在服务器上使用的 url:me@my-server:the-repo 然后过了一会儿我得到一个对话框“SSH 身份验证”,然后我选择我的私钥,就像我为 pagent 所做的那样,并输入我的密码。但是当我单击登录时,它只是尝试连接一段时间,然后再次显示“SSH 身份验证”对话框。没有错误信息或任何东西。

我尝试通过命令行使用相同的数据克隆 repo,效果很好。那么我有什么遗漏吗?

【问题讨论】:

    标签: git ssh smartgit


    【解决方案1】:

    需要将我的 ssh 私钥保存为 PuTTYgen 中的 OpenSSH 密钥,因为 SmartGit 只支持该格式。

    【讨论】:

    • 这很奇怪,但是如果你点击 PuTTYgen "Save private key""Save public key" 它将不起作用。您需要通过菜单 Conversions → Export OpenSSH Key 保存。该文件将被接受
    • 在 Windows 上,您还可以在 SmartGit 首选项中切换到内部 SSH 工具 - 它要求输入 ssh 密钥密码并且可以正常工作
    【解决方案2】:

    是的,就是这样!

    我只是想详细说明一下,以帮助那些从头开始的人:

    在 Windows 上,您可以执行以下步骤:

    1. Here 安装 msysgit
    2. 要根据许多 git 服务器(如 Assembla)的需要生成公钥/私钥对,请使用 PuTTYgen 你找到here: 点击Generate移动鼠标,直到它告诉您密钥已生成。 (可选)输入密码以保护您的私钥
    3. 根据需要保存或复制公钥
    4. 使用菜单语音保存私钥以与 SmartGit 一起使用转换/导出 OpenSSH 密钥
    5. 在 SmartGit 中使用最后一个文件进行身份验证

    【讨论】:

      【解决方案3】:

      我发现更改 SmartGit 更容易 |偏好 |命令 |可执行文件使用“C:\Program Files (x86)\Git\bin\git.exe”,然后在系统环境中设置 GIT_SSH=plink。

      【讨论】:

        【解决方案4】:

        如果您想使用 putty 作为 ssh 客户端,请按照以下步骤操作:

        1. 编辑|首选项|命令|身份验证,选择Use System SSH Client
        2. 在 Windows 系统变量中,设置 GIT_SSH=plink(其中 putty 的 plink.exe 位置)

        之后,请使用pageant并加载私钥

        【讨论】:

          【解决方案5】:

          如果您在 MacOS X 上使用 SmartGit,此问题会导致 Finder 中显示意外对话框:

          "SSH - Enter passphrase for key '/Users/username/.ssh/id_rsa':"

          它会在 SmartGit 启动时弹出。它看起来像这样:

          它看起来像一个 Finder 对话框,完全没有提到 SmartGit,这很奇怪且令人困惑。这通常是由于 SSH 密钥密码未存储在 Keychain Access 应用程序中造成的。这就是 SmartGit 会寻找它的地方。您需要在其中添加它,如下所示:

          ssh-add -K ~/.ssh/id_rsa    (assuming id_rsa is your private key file)
          

          重新启动计算机后有时需要上述命令。另请参阅以下指南:

          【讨论】:

          • 我每次重启后都会出现这个问题,有谁知道为什么会这样以及如何一劳永逸地防止它?
          • 没关系,我在这里找到了答案apple.stackexchange.com/a/264974
          【解决方案6】:
          1. 生成 PEM 私钥

          ssh-keygen -t rsa -b 4096 -m PEM

          (将公钥添加到您的 git 主机)

          1. 从 smargit UI 中克隆(或重新克隆)您的项目,

          (在我的情况下,我必须删除我的本地项目,然后从 smargit 克隆它,我无法使其与现有的本地项目一起使用,smartgit 总是告诉我私钥(id_rsa)错误或密码错误,我花了一天时间才成功,我讨厌这么多 smartgit!!!)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-09-22
            • 1970-01-01
            • 1970-01-01
            • 2015-10-20
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-10-11
            相关资源
            最近更新 更多