Cygwin ssh - 无法访问身份文件

时间:2013-01-30 19:00:43

标签: file ssh cygwin identity accessible

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

提前非常感谢你。

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

之前

答案 2 :(得分:1)

背景

大多数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

就是这样。

但是至少对我来说,一旦我解决了上述问题,就开始遇到此超级用户问题Mapping generic中描述的问题。我使用了最不满意的答案中的解决方案,并且ssh终于为我工作了。