我已经在各种风格的 Linux 上设置了 OpenSSH 很多次。但是我一生都无法让它在 Windows 上正常运行。
这个问题似乎有两个方面。sshd/使用的权限和密钥ssh-agent。
权限
我阅读的每一页都有不同的正确权限答案。有些工作,有时程序会抱怨它们。
从我了解的按键都应该为所拥有的SYSTEM,与读访问NT SERVICE\sshd和完全控制Administrators和SYSTEM?(据我了解SYSTEM并Administrators代表 Windows 中的 root)。我在文档中读到只有在不使用ssh-add/时才需要读取访问权限ssh-agent。我还为该%USERPROFILE%/.ssh/authorized_keys文件配置了相同的权限,并添加了.pubEd25519 密钥,这是我用来尝试连接的密钥,尽管我也使用自己生成的 RSA 密钥进行了尝试。
以这种方式设置权限后,程序在向代理添加密钥或运行守护程序时不会抱怨。我改变了唯一的选择sshd_config是ListenAddress将其绑定至0.0.0.0,我将其设置为本地IP为SSH将只能在本地使用的机器。
钥匙
当我sshd.exe使用该-d选项运行时,我注意到它从%PROGRAMDATA%/ssh. 当我加入了ed25519.pub钥匙authorized_keys紧随其后的HOSTNAME@workstation@HOSTNAME,HOSTNAME是我的电脑的主机名。通常我会希望看到user@host. 我尝试创建自己的密钥并添加它,但是当我运行sshd.exe -d它时,它似乎从不使用默认密钥以外的任何东西。
最后,我无法连接到 OpenSSH 服务器,并且登录%PROGRAMDATA%/ssh/Logs似乎只显示服务器正在启动。总结我的问题:密钥文件的正确权限是authorized_hosts什么?authorized_keys错误的注释是否有影响?我应该将所有默认键添加.pub …