![]() |
1
197
我也可以:
选项1(将主机添加到
|
![]() |
2
29
避免主机密钥检查是一种安全风险。 JSCH使用hostkeyrepository接口及其默认的实现knownhosts类来管理这一点。您可以通过实现hostkeyrepository提供允许特定密钥的备用实现。或者您可以将要允许的密钥保存在 known_hosts format 然后打电话
或者使用下面的公钥字符串。
看见 Javadoc 了解更多详细信息。 这将是一个更安全的解决方案。 JSCH是开放源码的,您可以从 here . 在Examples文件夹中,查找knownhosts.java了解更多详细信息。 |
![]() |
3
24
当这个问题得到一般性的回答时,我发现自己 case 即使存在 已知宿主 输入不起作用。当ssh服务器发送ecdsa指纹时会发生这种情况,因此,您将拥有如下条目:
问题是JSCH 偏好者 sha_rsa在连接时会尝试比较sha-rsa指纹,这会导致“未知主机”的错误。 要解决这个问题,只需运行:
或抱怨 Jcraft 关于首选sha_rsa而不是使用本地 主机密钥算法 设置,虽然他们似乎不太 eager 修复他们 bugs . |
![]() |
4
16
根据您对ssh使用的程序,获取正确密钥的方法可能有所不同。Putty(在Windows中很流行)对ssh密钥使用自己的格式。对于我见过的Linux和BSD的大多数变体,您只需查看
假设我把文件放在
也许其他人可以推荐其他Windows选项。我发现Putty处理ssh键的方式是将它们以非标准格式存储在注册表中,这很麻烦。 |
![]() |
5
10
提供主机的公共RSA密钥:
|
![]() |
6
6
您还可以执行以下代码。这是测试和工作。
请替换适当的值。 |
![]() |
7
4
你也可以简单地做
它不安全,而且是一个不适合实时环境的解决方案,因为它将禁用全局已知的主机密钥检查。 |
![]() |
8
1
只需替换“user”、“pass”、“sshd-ip”。并创建一个名为known_hosts.txt的文件,其中包含服务器的~/.ssh/known_hosts的内容。你会得到一个贝壳。
|
![]() |
9
1
我在这个愚蠢的问题上浪费了很多时间,我认为这条信息是非常正确的:“我正在访问的文件中没有主机”,但是您的系统中可以有超过一个已知主机文件(例如,我使用的是mobaxterm,它将自己的主机保存在安装目录中,从该根目录装入主机)。 如果遇到以下情况:它在命令行中工作,但不构成应用程序,请尝试使用ssh访问远程服务器,并使用verbose-v选项检查当前使用的文件。示例如下:
正如您所看到的,密钥在以下位置找到:
而不是在我的Windows主页上的C:\users下\ MyoLoalalSub用户 \.ssh,我只是简单地将它们合并并对齐以解决问题。 希望以后能帮上忙 |
![]() |
10
0
这个stackoverflow条目是关于主机密钥检查的,与公钥身份验证没有关系。 至于公钥身份验证,请尝试 following sample 使用普通(非加密)私钥, |
![]() |
11
0
设置已知主机比设置fingure打印值要好。 当您设置已知主机时,尝试从应用程序运行的框中手动ssh(第一次,在应用程序运行之前)。 |
![]() |
12
-1
|
![]() |
projun14 · 使用JSch LS方法列出带问号的目录 7 年前 |
![]() |
Omid1989 · 如何在Android中读取jsch命令的输出? 7 年前 |
![]() |
user3742125 · 使用JSch库的上载重试机制 7 年前 |
![]() |
Omid1989 · 使用android应用程序发送SSH命令[重复] 7 年前 |
![]() |
Karthi · SFTP Java-管道闭合Jsch异常 7 年前 |