Cygwin 身份文件无法访问



我一直在尝试使用Cygwin建立ssh连接,但它无法识别我的id_rsa公钥文件。

我的命令行如下:

$ssh XXX@XXX -i /home/XXX/.ssh/id_rsa
Warning: Identity file /home/XXX/.ssh/id_rsa not accessible: No such file or directory.
Permission denied (publickey,XXX).

(对不起,我用XXX作为私人信息。

我将我的 .pub 文件复制到 C:\cygwin\home\XXX.ssh 文件夹。但它仍然会吐出相同的错误消息。

提前非常感谢你。

背景

大多数cygwin可执行文件,将Unix路径/home/XXX/.ssh/id_rsa映射到Windows路径C:cygwin64homeXXX.sshid_rsa。除了 ssh.exe 将相同的 Unix 路径映射到 Windows 路径C:homeXXX.sshid_rsa

也就是说,如果你cat ~/.ssh/id_rsa,它会打印出C:cygwin64homeXXX.sshid_rsa的内容,但如果你这样做ssh XXX@XXX -i /home/XXX/.ssh/id_rsa它会尝试从C:homeXXX.sshid_rsa读取密钥。

我认为这是Cygwin中的错误。无论如何,这是一种对我有用的解决方法(截至 10 月在 Windows 10 和最新版本的 Cygwin 上截至 2020 年 10 月)。

溶液

打开管理员命令提示符。转到C:并发出命令mklink /D home c:cygwin64home

就是这样。

但至少对我来说,一旦我解决了上述问题,我就开始 https://superuser.com/questions/1296024/windows-ssh-permissions-for-private-key-are-too-open 遇到这个超级用户问题中描述的问题。我使用了最受好评的答案中的解决方案,ssh 终于为我工作了。

从您的帖子来看,SSH 似乎正在寻找/home/XXX/.ssh/id_rsa并且没有找到它。确保您复制的 .pub 文件已正确命名并具有正确的权限。

尝试将选项放在主机名之前...

最新更新