任何人都可以帮助我提供有关如何在 Windows 7 主机上设置 SSHD 服务器以及基于 key 的身份验证的详细指南。
我正在尝试在 Linux Mint 和 Windows 7 主机之间建立通信。
使用 OpenSSH 7.2p2-1-v1:链接提供的 setupssh-7.2p2-1-v1.exe:http://www.mls-software.com/opensshd.html
我已经为 Linux 主机生成了公钥和私钥。我遵循了一些其他指南并使用 >ssh-keygen -t rsa 为 OpenSSH 服务器生成了 key 到 .ssh 文件夹,并将我的 Linux 公钥也复制到授权主机文件。
基于交互式 key (密码)的身份验证工作正常。但是,当我在 sshd_config 文件上禁用密码身份验证,并尝试使用基于 key 的身份验证从 Linux 主机 ssh 时,会出现错误 #Connection Refused (Publickey Authentication) - 类似于此。
这几天我一直在为这个问题苦苦挣扎。我的简单要求是,我能够使用基于 key 的身份验证从我的 Linux 机器进行 SSH,并且类似地从我的 Windows 主机到 Linux 主机。
请尽可能地帮助我。
最佳答案
我能够解决这个问题,并在 Windows 7 和 Windows Server 2003 Standard 上对其进行测试,因此我认为在 2003 及更高版本的任何 MS 发行版中都可以实现同样的效果。
以下是使用 OpenSSH 在 Windows 主机上设置 SSH 服务器并将其配置为 Windows 登录用户帐户的步骤。 (基于 key 的身份验证)
- 下载并安装 OpenSSH 链接:http://www.mls-software.com/opensshd.html
- 在安装过程中选择本地系统和无特权分离。
编辑/取消注释 sshd_config 文件中的以下行。
C:\Program Files\OpenSSH\etc\sshd_config
- 严格模式否
- 公钥认证是
- AuthorizedKeysFile .ssh/authorized_keys
将您希望访问 SSH 服务器的主机的公钥添加到 authorized_keys 文件中。
C:\Users\[USER]\.ssh\authorized_keys
将文件夹\empty 的所有权更改为您的登录[USER]
C:\Program Files\OpenSSH\var\empty
- 此外,转到服务,将 OpenSSH 服务登录更改为 [USER] 并将其设置为自动启动。
- 最后,重启服务。
这些步骤将导致以下可能性。 放在 authorized_keys 文件中的主机公钥将能够在没有任何密码身份验证的情况下进行 SSH。 任何其他主机都可以使用 [USER] 的本地登录密码进行 SSH。
关于linux - 在 Windows 7 上设置 OpenSSH 服务器以进行基于 key 的身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36456487/