我能够在cygwin上安装和configurationopenssh,运行正常,但有一个问题:我不能使用私钥/公钥authentication,它不工作。
我遵循了与Linux上相同的步骤,将我的密钥添加到~/.ssh/authorized_Keys但是它没有提取。
我也检查了/var/log/sshd.log但它是空的,并有这样的权利:
-rw-r--r-- 1 cyg_server None 0 Aug 21 12:53 sshd.log drwx------+ 1 Administrator None 0 Aug 21 12:57 .ssh -rw-r--r-- 1 Administrator None 395 Aug 21 12:57 authorized_hosts
我错过了什么?
如果文件名是~/.ssh/authorized_Keys ,那么你需要在文件名中小写K
如果不是这样,请尝试对系统执行ssh -v 。 这应该给你更多的信息。
这可能是由于没有设置HOME环境variables造成的。 echo $HOME的结果是什么? ~/.ssh/authorized_Keys实际解决哪个完整path?
另外,我相信authorized_keys文件的文件名应该全部小写。
最后,似乎cygwin有一些奇怪的权限问题。 尝试将.ssh目录及其内容的权限设置为600(而不是700)。 如果这不起作用,我在cygwin邮件列表中find了一些旧post,其中.ssh目录的所有者以及其中的所有文件由于某种原因必须是SYSTEM.SYSTEM。
如果这一切都不起作用,请检查您的Windows事件日志。 我相信,默认情况下,cygwin的sshdlogging在那里,而不是在sshd.log (尽pipe我不知道为什么它会创build日志文件)。