我正在使用Win XP,我试图通过SSH连接到使用RSA密钥的远程主机。
我调查了cygWin认识到文件和设置目录作为主目录
Z:\app\cwRsync\bin>cygpath -H /cygdrive/c/Documents and Settings
我在Documents and Settings / user / .ssh中创build了.ssh目录, 并在其中移动了known_hosts , id_rsa , id_rsa.pub 。
现在,我试图通过ssh.exe连接到远程主机
Z:\app\cwRsync\bin>ssh -p 22 [email protected] Could not create directory '/home/user/.ssh'. The authenticity of host '[remotehost.com]:22 ([remotehost.com]:22)' can't be established. RSA key fingerprint is f7:f4:2c:e0:c6:7e:d2:a4:45:70:63:df:bf:f2:84:46. Are you sure you want to continue connecting (yes/no)?
我做错了什么? 为什么ssh.exe无法创build目录/ home / user / .ssh?
谢谢。
尝试将.ssh上的权限更改为700.这是因为.ssh是存储私钥的敏感目录。
另一个要尝试的将是ln -s /cygdrive/c/Documents\ and\ Settings /home ,从而导致/ home中的search被redirect到Documents and Settings。
噢人…我也烧了这个小时候…
对我来说,解决scheme是:设置一个名为HOME的Windows用户环境variables指向%USERPROFILE%
显然(黑盒视图),这允许cygwin $ HOME环境variables干净地解决%USERPROFILE%窗口variables和一切出来在洗。 这也将保留用户configuration文件的所有Windows安全性,这使得它成为我见过的最好的解决scheme(…而且我最近也见过其中的一些!)
build议: http : //hrivera99.blogspot.com.au/2013/09/openssh-failed-to-add-hosts-to-list-of.html
希望这能拯救他人几个小时的生命!
在本地机器的Documents and Settings文件夹中,创buildhome\<user>文件夹。 出于某种原因,cwRsync不会为您创build这些文件夹。 我没有更改我的cygpath,所以我在C:\Program Files\cwRsync\home\<user>创build了我的。
我通过创build一个目录结点解决了我的Win7笔记本电脑上的问题。 使用pipe理员权限打开命令工具并运行命令:
mklink /j "C:\Program Files (x86)\cwRsync\home" "c:\Users"
原因:
ssh需要一个/home/user_name/.ssh cygwin目录,它是Windows目录下的C:\ Program Files(x86)\ cwRsync \ home \ user_name.ssh
cygpath -w /home/user_name/.ssh
Windows用户希望他的主目录在用户目录下:C:\ Users \ user_name从C:\ Program Files(x86)\ cwRsync \ home到C:\ Users的链接就可以了。
注意:这也可能与符号链接:mklink / d,但我没有testing它。
它不能创build它,因为它已经被创build。 我怀疑有权限问题。 ~ , ~/.ssh和~/.ssh的文件有什么权限?
这对我有用
检查之前:
echo %HOME% echo %USERPROFILE%
接着:
set HOME=%USERPROFILE% rsync .....
我通过在我的cwrsync文件夹中创build2个新文件夹解决了这个警告。
<CWRSYNC FOLDER>/home/<USERNAME>
(首先创buildhome ,然后为您的用户名创build一个子文件夹。)
你也可以在你的C:\Users\USERNAME文件夹中创build一个目录交叉点(类似于一个符号链接),请参阅@ zizou13关于如何执行此操作的答案。