Windows 中是否有已知主机的确定路径?
Is there a definitive path for known hosts in Windows?
我正在使用 libcurl 作为 SFTP,它很棒。我想检查即将连接的主机是否存在于主机文件中。在 Linux 中,我可以轻松找到已知的主机文件,因为它几乎总是在 ~/.ssh/known_hosts
中。我想知道 Windows 是否维护相同的东西,或者关于此类文件在 Windows 中的位置没有标准。
在~\Users\~\AppData\Roaming\_ssh\known_hosts
.
中查找
另请参阅:http://comments.gmane.org/gmane.comp.web.curl.general/12593
~/.ssh/known_hosts
是 OpenSSH 使用的 *nix 路径。 ~
解析为帐户的主目录,该目录在 /etc/passwd
文件中指定。主页默认为 Linux 上的 /home/username
文件夹。
OpenSSH 是 Linux 软件。它本身不会 运行 Windows。
尽管它可以在 Windows 上的 *nix 仿真上 运行,并且还有 OpenSSH 的 Windows 克隆。所以最后,你的问题是关于你在 Windows 服务器上 运行 是什么仿真或克隆,以及 maps/re-implements 如何访问 ~/.ssh/known_hosts
.
Win32-OpenSSH(Windows Microsoft 的 OpenSSH 克隆):它会转到您的 Windows 帐户配置文件文件夹。 IE。通常为 C:\Users\username\.ssh
.
另请参阅我的 Setting up SSH public key authentication on Win32-OpenSSH 指南。
Cygwin emulator:在我的安装中,所有类似 *nix 的路径实际上都存储在 C:\cygwin64
(C:\cygwin
on 32-bit)。
所以 /home/username/.ssh/known_hosts
在 C:\cygwin64\home\username\.ssh\known_hosts
.
请注意 Windows SSH 客户端通常不使用 known_hosts
。他们有不同的主机密钥 cache/storage.
例如,广泛使用的 Windows SSH 客户端 PuTTY 将知道的主机密钥存储到 Windows 注册表到 HKCU\Software\SimonTatham\PuTTY\SshHostKeys
密钥。有关详细信息,请参阅 .
虽然不确定 libcurl。但是,对于 PuTTY 用户,如果 PuTTY 抛出诸如 WARNING: Server public key has changed
之类的警告,这可能会有所帮助
所以在 window known_hosts 中,PuTTY 是 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
,请删除注册表值
- 如果需要,您可以使用此命令
REG QUERY HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys
检查 SshHostKeys
文件中的内容
然后缓存将被清除。该特定条目将再次成为新事物
我正在使用 libcurl 作为 SFTP,它很棒。我想检查即将连接的主机是否存在于主机文件中。在 Linux 中,我可以轻松找到已知的主机文件,因为它几乎总是在 ~/.ssh/known_hosts
中。我想知道 Windows 是否维护相同的东西,或者关于此类文件在 Windows 中的位置没有标准。
在~\Users\~\AppData\Roaming\_ssh\known_hosts
.
另请参阅:http://comments.gmane.org/gmane.comp.web.curl.general/12593
~/.ssh/known_hosts
是 OpenSSH 使用的 *nix 路径。 ~
解析为帐户的主目录,该目录在 /etc/passwd
文件中指定。主页默认为 Linux 上的 /home/username
文件夹。
OpenSSH 是 Linux 软件。它本身不会 运行 Windows。
尽管它可以在 Windows 上的 *nix 仿真上 运行,并且还有 OpenSSH 的 Windows 克隆。所以最后,你的问题是关于你在 Windows 服务器上 运行 是什么仿真或克隆,以及 maps/re-implements 如何访问 ~/.ssh/known_hosts
.
Win32-OpenSSH(Windows Microsoft 的 OpenSSH 克隆):它会转到您的 Windows 帐户配置文件文件夹。 IE。通常为
C:\Users\username\.ssh
.另请参阅我的 Setting up SSH public key authentication on Win32-OpenSSH 指南。
Cygwin emulator:在我的安装中,所有类似 *nix 的路径实际上都存储在
C:\cygwin64
(C:\cygwin
on 32-bit)。所以
/home/username/.ssh/known_hosts
在C:\cygwin64\home\username\.ssh\known_hosts
.
请注意 Windows SSH 客户端通常不使用 known_hosts
。他们有不同的主机密钥 cache/storage.
例如,广泛使用的 Windows SSH 客户端 PuTTY 将知道的主机密钥存储到 Windows 注册表到 HKCU\Software\SimonTatham\PuTTY\SshHostKeys
密钥。有关详细信息,请参阅
虽然不确定 libcurl。但是,对于 PuTTY 用户,如果 PuTTY 抛出诸如 WARNING: Server public key has changed
之类的警告,这可能会有所帮助
所以在 window known_hosts 中,PuTTY 是 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
,请删除注册表值
- 如果需要,您可以使用此命令
REG QUERY HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys
检查
SshHostKeys
文件中的内容
然后缓存将被清除。该特定条目将再次成为新事物