gpt4 book ai didi

ssh - 如何在windows机器中生成known_host文件

转载 作者:行者123 更新时间:2023-12-04 13:39:38 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How to resolve Java UnknownHostKey, while using JSch SFTP library?

(3 个回答)


2年前关闭。




我正在使用 Jsch(Jcraft) 库与 SSH 服务器建立 SSH 连接,如下所示:

        JSch jsch = new JSch();
String user = "****";
String host = "****";
int port = 22;
String privateKey = "***.ppk";//Path to private key(The file is in .ppk format)
try
{
jsch.addIdentity(privateKey);
Session session = jsch.getSession(user, host, port);
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.connect();
ChannelSftp sftpChannel = (ChannelSftp) session.openChannel("sftp");
sftpChannel.connect();
/*file transfer code*/
sftpChannel.disconnect();
session.disconnect();
}
catch (Exception e)
{
e.printStackTrace();
}

SSH 连接成功建立,因为“StrictHostKeyChecking”被禁用。如果启用,我会收到以下错误:
com.jcraft.jsch.JSchException: UnknownHostKey: ******. RSA key f
is *************
at com.jcraft.jsch.Session.checkHost(Session.java:805)
at com.jcraft.jsch.Session.connect(Session.java:345)
at com.jcraft.jsch.Session.connect(Session.java:183)

我知道我们需要在代码中设置知道主机文件,如下所示:
jsch.setKnownHosts(knownHostsFileName); 

我无法通过以下命令生成 known_hosts 文件:
ssh-keyscan <HOST> > known_hosts 

它抛出以下错误:
'ssh-keyscan' is not recognized as an internal or external command,
operable program or batch file.

我只有 .ppk 格式的公钥和私钥。我没有 known_host 文件。我们如何创建 known_host 文件?为什么是 ssh-keyscan 命令抛出错误 - 未被识别为内部/外部命令?

最佳答案

ssh-keyscan是来自 Linux/Unix 的命令。为了在 Windows 上执行它,您需要一个经过修改以在 Windows 上运行的版本。最简单的就是安装 ( download ) 并打开 Git Bash .在此控制台中,您可以使用 ssh-keyscan命令。

关于ssh - 如何在windows机器中生成known_host文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49255038/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com