Cygwin ssh - 无法访问身份文件
Posted
技术标签:
【中文标题】Cygwin ssh - 无法访问身份文件【英文标题】:Cygwin ssh - Identity file not accessible 【发布时间】:2013-01-30 19:00:43 【问题描述】:我一直在尝试使用 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 文件夹。但它仍然会吐出相同的错误消息。
非常感谢您。
【问题讨论】:
【参考方案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
就是这样。
但至少对我来说,一旦我解决了上述问题,我就开始遇到这个超级用户问题https://superuser.com/questions/1296024/windows-ssh-permissions-for-private-key-are-too-open 中描述的问题。我使用了最受好评的答案中的解决方案,ssh 终于为我工作了。
【讨论】:
【参考方案2】:从您的帖子看来,SSH 正在寻找 /home/XXX/.ssh/id_rsa
并且没有找到它。确保您复制的 .pub 文件命名正确并具有正确的权限。
【讨论】:
嗨。谢谢您的意见。但是我对这个 .pub 文件的权限确实有“完全控制权”。也不是文件名不正确。 它实际上是在寻找具有特定名称id_rsa
的文件,而不是 id_rsa.pub 或其他以“.pub”结尾的文件。该文件应该是 private 密钥文件。 .pub 文件是 public 密钥文件,这不是它要查找的文件。【参考方案3】:
尝试将选项放在主机名之前...
【讨论】:
以上是关于Cygwin ssh - 无法访问身份文件的主要内容,如果未能解决你的问题,请参考以下文章