我非常想随身携带我的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
答案 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似乎更安全。