在GitPortable中正确设置SSH主页

时间:2015-02-04 17:34:30

标签: ssh git-bash portable-applications

我非常想随身携带我的Git安装,所以我通过PortableApps安装了GitPortable。 不幸的是,git-bash中提供的OpenSSH实用程序坚持在无意义的地方(C / .ssh)放置/搜索.ssh文件夹。

现在,我看到其他人遇到了同样的问题,但解决方案通常是将HOME设置为Windows环境变量。但这不适合我。

从通常的Windows命令提示符:

C:\Users\snb>echo %HOME%
C:\Users\snb

显示环境变量显然已正确设置。 来自git-bash:

snb@SNB-WORKSTATION /c/Users/snb
$ echo $HOME
C:\Users\snb

表明git-bash同意。但是,如果我测试一个SSH命令,OpenSSH完全错误地知道在哪里找到.ssh文件夹:

snb@SNB-WORKSTATION /c/Users/snb
$ ssh -T git@bitbucket.org
Could not create directory 'C/.ssh'.
The authenticity of host 'bitbucket.org (131.103.20.167)' can't be established.
RSA key fingerprint is 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40.
Are you sure you want to continue connecting (yes/no)?

我不知道如何在GitPortable安装中使用OpenSSH了解我的主目录所在的位置。除了放弃和安装Git for Windows之外,您有什么想法吗?

编辑:

OpenSSH版本是:

$ ssh -V
OpenSSH_6.6.1p1, OpenSSL 1.0.1i 6 Aug 2014

使用git-cmd.bat时,该命令在Windows命令提示符中使用正确的.ssh文件夹位置:

C:\Users\snb>ssh -T git@bitbucket.org
The authenticity of host 'bitbucket.org (131.103.20.168)' can't be established.
RSA key fingerprint is 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'bitbucket.org,131.103.20.168' (RSA) to the list of known hosts.
Enter passphrase for key '/c/Users/snb/.ssh/id_rsa':

但我真的很讨厌cmd.exe,我需要这个才能为git-bash工作! :)

git-bash使用的SSH命令是:

$ which ssh
/bin/ssh

/ bin文件夹位于GitPortable安装中,因此这是与GitPortable一起分发的OpenSSH版本。

此GitPortable基于msysgit PortableGit-1.9.5-preview20141217 github commit

1 个答案:

答案 0 :(得分:2)

bash会话中HOME的正确路径应设置为:

 export HOME=/c/Users/snb

这会使它与unix shell中的ssh兼容 考虑到posix path,使用Git is running on top of a posix run-time environment似乎更安全。