我正在尝试使用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
我在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); } } }
我会:
~/.ssh/known_hosts
“ StrictHostKeyChecking”(
java.util.Properties config = new java.util.Properties(); config.put("StrictHostKeyChecking", "no"); session.setConfig(config);
选项#1(将主机添加到~/.ssh/known_hosts文件中)具有我的偏好。