2

我一直在尝试使用 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 文件夹。但它仍然会吐出相同的错误消息。

非常感谢你。

4

3 回答 3

2

背景

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

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

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

解决方案

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

而已。

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

于 2020-10-08T18:19:16.753 回答
1

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

于 2013-01-30T19:06:20.633 回答
1

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

于 2013-02-15T20:54:20.507 回答