linux - 在 Windows 7 上设置 OpenSSH 服务器以进行基于 key 的身份验证

标签 linux windows-7 file-permissions openssh sshd

任何人都可以帮助我提供有关如何在 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 的身份验证)

  1. 下载并安装 OpenSSH 链接:http://www.mls-software.com/opensshd.html
  2. 在安装过程中选择本地系统无特权分离
  3. 编辑/取消注释 sshd_config 文件中的以下行。

    C:\Program Files\OpenSSH\etc\sshd_config
    
    • 严格模式否
    • 公钥认证是
    • AuthorizedKeysFile .ssh/authorized_keys
  4. 将您希望访问 SSH 服务器的主机的公钥添加到 authorized_keys 文件中。

    C:\Users\[USER]\.ssh\authorized_keys
    
  5. 将文件夹\empty 的所有权更改为您的登录[USER]

    C:\Program Files\OpenSSH\var\empty
    
  6. 此外,转到服务,将 OpenSSH 服务登录更改为 [USER] 并将其设置为自动启动。
  7. 最后,重启服务。

这些步骤将导致以下可能性。 放在 authorized_keys 文件中的主机公钥将能够在没有任何密码身份验证的情况下进行 SSH。 任何其他主机都可以使用 [USER] 的本地登录密码进行 SSH。

关于linux - 在 Windows 7 上设置 OpenSSH 服务器以进行基于 key 的身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36456487/

相关文章:

python - 如何使用 Raspberry Pi motion 播放音频文件?可能的权限问题?

node.js - Linux Node 模块版本不匹配

powershell - 获取所有打开的资源管理器窗口的报告

.net - Windows 7中的AssemblyDescription发生了什么?

PHP 文件不在 Windows 机器上执行

django - 无法使用 boto 和 django 在 S3 中设置文件权限

linux - Qt 中的 .ttf 字体优先级

linux - Python简单的SSL通信

c - 带有换行符的 printf 导致奇怪的段。过错

java - 对于 Windows 7,推荐的 Java 版本是什么?