Windows中的已知主机是否有明确的路径?

时间:2015-10-05 09:46:18

标签: windows ssh libcurl

我正在使用libcurl作为SFTP而且非常棒。我想检查主机是否要连接,如果它存在于hosts文件中。在Linux中,我可以轻松找到已知的主机文件,因为它几乎总是在~/.ssh/known_hosts中。我想知道Windows是否保持相同的东西,或者没有关于此类文件驻留在Windows中的标准。

3 个答案:

答案 0 :(得分:3)

~/.ssh/known_hosts是OpenSSH使用的* nix路径。 ~已解析为帐户的主目录,该目录在/etc/passwd文件中指定。主页默认为/home/username文件夹。

OpenSSH是Linux软件。它不能单独在Windows上运行。

虽然它可以在Windows上运行* nix仿真,但也有OpenSSH的Windows克隆。所以最后你的问题是你在Windows服务器上运行什么样的模拟或克隆,以及如何映射/重新实现对~/.ssh/known_hosts的访问。

  • Win32-OpenSSH(Microsoft的OpenSSH Windows克隆版):它转到您的Windows帐户个人资料文件夹。即通常为C:\Users\username\.ssh

    另请参阅我的Setting up SSH public key authentication on Win32-OpenSSH指南。

  • Cygwin emulator:在我的安装中,所有类似* nix的路径实际上都存储在C:\cygwin64(32位C:\cygwin)上。

    因此/home/username/.ssh/known_hosts位于C:\cygwin64\home\martin\.ssh\known_hosts

答案 1 :(得分:2)

虽然不确定libcurl。但是,对于PuTTY用户而言,如果PuTTY发出诸如WARNING: Server public key has changed之类的警告,这可能会有所帮助 因此在PuTTY窗口中,known_hosts是SshHostKeys。

存储在HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys位置的

。到达应该使用的位置Registry Editor

  • 开始查找regedit
  • 然后您将在计算机下方的左窗格中看到所有目录
  • 就像这张图片说的那样,转到HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys的位置-location
  • 然后您可以按自己的意愿进行修改Known host options-如果看到警告提示WARNING: Server public key has changed,请删除注册表值
  • 如果需要,您可以使用此命令SshHostKeys来检查REG QUERY HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys文件中的内容

然后将清除缓存。该特定条目将再次成为新事物

答案 2 :(得分:1)

查看~\Users\~\AppData\Roaming\_ssh\known_hosts

另请参阅:http://comments.gmane.org/gmane.comp.web.curl.general/12593