繁体   English   中英

在Windows下使用带有SSH密钥文件的GIT时出现问题

[英]Problems using GIT w/ SSH key file under Windows

我在将GIT与外壳,Visual Studio Code和Visual Studio 2015(社区版)一起使用时遇到问题。

今年早些时候,我开始将GIT与eGit一起使用(当然是在Eclipse下),没有任何问题。 我在服务器上安装了GIT,创建了一个ssh密钥对,并在进行了几次测试后仍然有效(并且仍然有效)。

但是,现在我想在服务器上将GIT与Visual Studio Code一起使用,也许以后再与Visual Studio 2015一起使用。

我遇到了这个问题:GIT尝试使用我的PPK并要求我输入密码(这是空的)。 如果我输入了错误的短语,它会再次询问,并且仅在我回答正确(仅输入键)时才继续。 所以我认为到这里一切都还可以。 但是随后,它要求服务器上的git-user(右边的一个顺便说一句)的用户密码,但失败了。 为什么?

在服务器的日志中,我看不到任何有关使用密钥文件登录的条目,仅看到有关尝试使用密码(已禁用)登录的错误。

如果我将腻子与该密钥文件一起使用,则可以连接到我的GIT服务器,并且还会在日志文件中获得一个条目。 因此,我确定服务器一切正常。

我想念什么? 我将不胜感激!

在Visual Studio 2015中使用它(当我在Bernardo Pastorelli的著名博客条目之后尝试重新编译GIT模块时,无法解决libssh找不到libssh的问题)或保存回车键将是一个奖励,但是,如果可以在Shell / Visual Studio Code下的密钥文件中使用GIT,我将非常高兴。

操作系统:Windows 7 64 bit
GIT 2.10.2.windows.1
VSC:V 1.7.2

TIA!

我将尝试在您的帖子中回答更简单的问题:

如果可以在Shell下将GIT与密钥文件一起使用,我会很高兴

一旦完成,就可以在此基础上进行构建。


Windows的Git使用Openssh,因此将无法直接使用腻子PPK文件。

两种前进方式

选项1:将PPK文件转换为OpenSSH格式

步骤如下:

  1. 在PuTTYGen中打开您的私钥
  2. 顶部菜单“转换”->“导出OpenSSH密钥”。
  3. 出现提示时,保存新的OpenSSH密钥。

要将这个新的openssh密钥用于git服务器,请执行以下操作:

打开Git Bash shell,然后编辑~/.ssh/config (如果不存在,则创建~/.ssh/ )并定义以下主机:

Host AuxBurgerGitServer
   Hostname whatevers-your-git-remote-is
   User     the-git-user
   IdentityFile ~/.ssh/the-open-ssh-key-exported-before

通过执行ssh -T AuxBurgerGitServer进行测试,该ssh -T AuxBurgerGitServer不应显示任何错误。

如果采用这种方式,则在引用此主机上的任何存储库时都应使用上面定义的HOST 因此,例如,要克隆存储库,您可以执行以下操作:

git clone ssh://AuxBurgerGitServer/some-repo-name

选项2:将您的GIT配置为使用选美

您可以将PPK文件加载到页面中,并将GIT配置为使用页面进行身份验证。

为此,您唯一需要做的就是使用以下方法设置环境变量:
Control Panel → System → Advanced system settings → Environment variables
(或在Windows 10上: Control Panel → Search → Environment variables

GIT_SSH=c:\Program Files\Putty\plink.exe

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM