如何在主机 Windows Server 2012 中安装公钥

xCh*_*aax 3 ssh openssh sftp windows-server-2012

我来自另一台服务器的用户将他的公钥给了我,并要求我将此公钥安装到我的服务器中,以便他可以连接到我的服务器。做了一些研究,我必须创建一个名为的目录.ssh并将我的用户公钥粘贴到记事本中,然后将此文本文件保存到该.ssh目录中。我的问题是我的研究是否正确,如果是这样,我在哪里以及如何创建此.ssh目录和密钥文件,它是文本文件格式吗?我是否必须将诸如我的密钥之类的任何信息传递给用户?我正在使用 Windows Server 2012。

Mar*_*ryl 12

  • 公钥必须进入用户主目录子文件夹中的authorized_keys文件(不仅仅是一些文本文件).ssh
  • 公钥条目必须具有正确的格式,例如:

    ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAir2cIHsAFg8QzLF6Yb... some optional comment
    
    Run Code Online (Sandbox Code Playgroud)
  • authorized_keys文件必须使用 *nix 行尾,这是记事本不能做的(因此请确保您的 SFTP/FTP 客户端使用 ASCII 传输模式来转换行尾)

  • .ssh文件夹需要有700权限和authorized_keys需要有600权限。

互联网上有无数的指南涵盖了上述内容。
例如,请参阅我的在 OpenSSH 中设置 SSH 公钥身份验证的指南。


如果用户已经是您服务器上的用户(密码 [或其他] 身份验证有效),他/她可以自己设置公钥。

另请参阅我对从 Windows 设置对 Linux 服务器的公钥身份验证(ppk 私钥)的回答


您应该为您的用户提供服务器公共主机密钥的副本,以便用户在第一次连接时可以验证它(它与身份验证分开,其余问题是关于什么的)。尽管许多用户只是盲目地接受主机密钥。

  • 更一般地说,公钥必须放在 `sshd_config` 中指定为 `AuthorizedKeysFile` 的任何文件中,默认情况下是 `~/.ssh/authorized_keys` (6认同)