在Windows上与SSH连接

我已经通过了Tim Davis提供的优秀指南,这个指导是关于configurationGit在Windows下使用SSH来生成一个Git服务器,以便为我的DVCS创build一个主要的位置。

我正在为我的项目创build一个克隆。 我经历了所有的步骤,直到这一点,但我一直从TortoiseGit得到这个:

git.exe clone -v “ssh://Administrator@127.0.0.1:22/SSH/Home/administrator/myapp.git” “E:\GitTest\myapp” bash: Administrator@127.0.0.1: command not found Initialized empty Git repository in E:/GitTest/myapp/.git/ fatal: The remote end hung up unexpectedly Success 

没有任何东西被克隆。

顺便说一句: TortoisePLink出现之前,这个消息出现,问我:“ login as: ”(我认为这个信息是在命令给出,即: Administrator@blahblah

我的主variables设置为正确的地方:从Git Bash shell:

 echo $HOME /c/SSH/home/Administrator 

我也试过用Putty的plink代替TortoisePLink (在Git和TortoiseGit的安装中)。 这次错误被缩小为:

 git.exe clone -v “ssh://Administrator@127.0.0.1:22/c:/SSH/Home/administrator/myapp.git” “E:\GitTest\myapp” Initialized empty Git repository in E:/GitTest/myapp/.git/ fatal: The remote end hung up unexpectedly 

在这个显而易见的答案磕磕绊绊之前,我与这个问题斗争了几个小时。 我遇到的问题是当我生成密钥和使用git时,我正在使用不同的ssh实现。

我从命令提示符使用ssh-keygen来生成我的密钥,但是当我尝试“git clone ssh:// …”时,我得到了和你一样的结果,提示输入密码和消息“fatal:The remote结果竟然挂了“。

通过执行Windows“where”命令确定哪些ssh窗口正在使用。

 C:\where ssh C:\Program Files (x86)\Git\bin\ssh.exe 

第二行告诉你哪一个确切的程序将被执行。

接下来,你需要确定哪个SSH混帐使用。 通过查找:

 C:\set GIT_SSH GIT_SSH=C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe 

现在你看到了这个问题。

要纠正这个简单的执行:

 C:\set GIT_SSH=C:\Program Files (x86)\Git\bin\ssh.exe 

要检查是否应用更改:

 C:\set GIT_SSH GIT_SSH=C:\Program Files (x86)\Git\bin\ssh.exe 

现在git将能够使用您之前生成的密钥。

目前为止只有当前窗口才能解决此问题。 要完全解决它,你需要改变你的环境变量。

  1. 打开Windows资源管理器
  2. 用鼠标右键单击计算机并选择属性
  3. 点击左侧的高级系统设置链接
  4. 点击环境变量…按钮
  5. 在系统变量部分选择GIT_SSH变量,然后按Edit …按钮
  6. 更新变量值。
  7. 按OK关闭所有窗口

现在,您打开的任何命令窗口都将具有正确的设置。

希望这可以帮助。

你正在使用一个聪明的报价而不是"在这里:

 git.exe clone -v “ssh:// ^^^ 

确保你使用普通的旧双引号。

既然这样不断出现在搜索结果中,让git和github 在Windows上使用SSH (因为我不需要上述指南中的任何内容),我添加了以下简单的解决方案。

(微软表示他们正在为Visual Studio添加SSH,而针对Windows的GitHub仍然不支持SSH)

1.我安装了“git for Windows”(包括ssh和bash shell)

https://git-scm.com/download/win

2.从包含的bash shell(对于我来说,它安装在: C:\Program Files\Git\git-bash.exe

cd到你想要保存仓库的地方(例如: C:\code\github\ )和

类型:

eval $(ssh-agent -s) && ssh-add "C:\Users\YOURNAMEHERE\.ssh\github_rsa"

3. 键入:(从回购的SSH链接)

git clone git@github.com:RepoName/Project.git

我在“C:/ Program Files / Git / usr / bin”目录下找到了我的ssh.exe