我正在尝试使用Jsch在Java中建立SSH连接.我的代码产生以下异常:
com.jcraft.jsch.JSchException: UnknownHostKey: mywebsite.com.
RSA key fingerprint is 22:fb:ee:fe:18:cd:aa:9a:9c:78:89:9f:b4:78:75:b4
Run Code Online (Sandbox Code Playgroud)
我找不到如何在Jsch文档中验证主机密钥.我在下面提供了我的代码.
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
public class ssh {
public static void main(String[] arg) {
try {
JSch jsch = new JSch();
//create SSH connection
String host = "mywebsite.com";
String user = "username";
String password = "123456";
Session session = jsch.getSession(user, host, 22);
session.setPassword(password);
session.connect();
} catch(Exception e) {
System.out.println(e);
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用JSch进行sftp通信,现在我想使用方便基于密钥的身份验证,密钥由我的网络团队一次加载到客户端和服务器机器上,所有后来的通信都只是基于用户的,我们已经加载了密钥.
sftp -oPort=10022 jmark@192.18.0.246
Run Code Online (Sandbox Code Playgroud)
如 tjill@192.18.0.135
像这个命令工作正常并连接到sftp,我如何以编程方式实现此功能.
如果不可能使用JSch,请建议其他一些库.我遇到了Apache SSHD.